{"id":59911,"date":"2025-08-06T04:05:22","date_gmt":"2025-08-06T04:05:22","guid":{"rendered":""},"modified":"2025-08-10T01:22:19","modified_gmt":"2025-08-10T07:22:19","slug":"cve-2025-54430-critical-vulnerability-in-dedupe-python-library","status":"publish","type":"post","link":"https:\/\/www.ameeba.com\/blog\/cve-2025-54430-critical-vulnerability-in-dedupe-python-library\/","title":{"rendered":"<strong>CVE-2025-54430: Critical Vulnerability in Dedupe Python Library<\/strong>"},"content":{"rendered":"<p><strong>Overview<\/strong><\/p>\n<p>The cybersecurity landscape is constantly evolving, and new vulnerabilities are discovered on a routine basis. One such vulnerability that has recently been identified affects the dedupe Python library, an open-source library that uses machine learning algorithms to perform data deduplication and entity resolution on structured data. This vulnerability poses a significant threat to developers and organizations utilizing this library, as it could potentially <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-7793-critical-vulnerability-in-tenda-fh451-leading-to-system-compromise\/\"  data-wpil-monitor-id=\"68512\">lead to system<\/a> compromise or data leakage.<br \/>\nThe issue, labeled CVE-2025-54430, pertains to a <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-52808-a-critical-php-remote-file-inclusion-vulnerability-in-realtyelite\/\"  data-wpil-monitor-id=\"65888\">critical severity vulnerability<\/a> identified within the .github\/workflows\/benchmark-bot.yml workflow of the dedupe Python library. If exploited, this <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-7460-critical-vulnerability-in-totolink-t6-leads-to-buffer-overflow\/\"  data-wpil-monitor-id=\"66893\">vulnerability could lead<\/a> to the exfiltration of GITHUB_TOKEN, which has write permissions on most scopes, and could ultimately lead to a potential repository takeover.<\/p>\n<p><strong>Vulnerability Summary<\/strong><\/p>\n<p>CVE ID: CVE-2025-54430<br \/>\nSeverity: Critical (CVSS: 9.1)<br \/>\nAttack Vector: Network<br \/>\nPrivileges Required: None<br \/>\nUser Interaction: None<br \/>\nImpact: <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-31278-memory-corruption-vulnerability-with-potential-system-compromise\/\"  data-wpil-monitor-id=\"70403\">Potential system<\/a> compromise or data leakage<\/p>\n<p><strong>Affected Products<\/strong><\/p><div id=\"ameeb-1485544115\" class=\"ameeb-content-2 ameeb-entity-placement\"><div style=\"border-left: 4px solid #555; padding-left: 20px; margin: 48px 0; font-family: Roboto, sans-serif; color: #ffffff; line-height: 1.6; max-width: 700px;\">\r\n  <h2 style=\"margin-top: 0; font-size: 20px; font-weight: 600; display: flex; align-items: center;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"display: inline-flex; align-items: center; margin-right: 8px;\">\r\n      <img decoding=\"async\" src=\"https:\/\/www.ameeba.com\/blog\/wp-content\/uploads\/2025\/10\/Best-App-icon-Ameeba.png\" alt=\"Ameeba Chat Icon\" style=\"width: 40px; height: 40px;\" \/>\r\n    <\/a>\r\n    A new way to communicate\r\n  <\/h2>\r\n\r\n  <p style=\"margin-bottom: 12px;\">\r\n    Ameeba Chat is built on encrypted identity, not personal profiles.\r\n  <\/p>\r\n\r\n  <p style=\"margin-bottom: 16px;\">\r\n    Message, call, share files, and coordinate with identities kept separate.\r\n  <\/p>\r\n\r\n  <ul style=\"list-style: none; padding-left: 0; margin-bottom: 20px;\">\r\n    <li>\u2022 Encrypted identity<\/li>\r\n    <li>\u2022 Ameeba Chat authenticates access<\/li>\r\n    <li>\u2022 Aliases and categories<\/li>\r\n    <li>\u2022 End-to-end encrypted chat, calls, and files<\/li>\r\n    <li>\u2022 Secure notes for sensitive information<\/li>\r\n  <\/ul>\r\n\r\n  <p style=\"font-style: italic; font-weight: 600; margin-bottom: 24px;\">\r\n    Private communication, rethought.\r\n  <\/p>\r\n\r\n  <div style=\"display: flex; flex-wrap: wrap; gap: 12px;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\/download\" style=\"background-color: #ffffff; color: #000000; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Download Ameeba Chat<\/a>\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"border: 1px solid #ffffff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Learn More<\/a>\r\n  <\/div>\r\n<\/div>\r\n<\/div>\n<p>Product | Affected Versions<\/p>\n<p>Dedupe Python Library | Before commit 3f61e79<\/p>\n<p><strong>How the Exploit Works<\/strong><\/p>\n<p>The exploit takes advantage of a <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-54416-arbitrary-command-execution-vulnerability-in-tj-actions-branch-names-github-action\/\"  data-wpil-monitor-id=\"70404\">vulnerability in the GitHub<\/a> workflow of the dedupe library. Specifically, it manipulates the issue_comment to trigger an event using the @benchmark body. This event then checks out the manipulated PR&#8217;s branch, which may contain untrusted code. When this <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-26074-remote-code-execution-vulnerability-in-orkes-conductor-v3-21-11\/\"  data-wpil-monitor-id=\"66894\">code is executed<\/a>, it can lead to the exfiltration of GITHUB_TOKEN, a token with write permissions on most scopes, which could potentially lead to a repository takeover.<\/p>\n<p><strong>Conceptual Example Code<\/strong><\/p><div id=\"ameeb-1687830590\" class=\"ameeb-content ameeb-entity-placement\"><div class=\"poptin-embedded\" data-id=\"f6b387694f681\"><\/div>\r\n\r\n\r\n\r\n\r\n\r\n<\/div>\n<p>While the exact <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-50460-remote-code-execution-vulnerability-in-ms-swift-project\/\"  data-wpil-monitor-id=\"71455\">execution will depend on the specific untrusted code<\/a> inserted into the PR branch, a conceptual example of how the vulnerability might be exploited could look like this:<\/p>\n<pre><code class=\"\" data-line=\"\">POST \/repos\/:owner\/:repo\/issues\/:issue_number\/comments HTTP\/1.1\nHost: api.github.com\nAuthorization: token GITHUB_TOKEN\nContent-Type: application\/json\n{\n&quot;body&quot;: &quot;@benchmark&quot;\n}<\/code><\/pre>\n<p>In this example, the malicious actor uses the POST method to insert a comment with the @benchmark body. This triggers the GitHub Actions workflow, which could execute the untrusted <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-25214-race-condition-vulnerability-in-wwbn-avideo-14-4-leading-to-arbitrary-code-execution\/\"  data-wpil-monitor-id=\"68513\">code and potentially lead<\/a> to the exfiltration of the GITHUB_TOKEN.<br \/>\nFortunately, this vulnerability has been fixed by commit 3f61e79. As a cybersecurity expert, I strongly recommend applying the vendor patch or using a WAF\/IDS as temporary mitigation to prevent <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-46334-critical-vulnerability-in-git-gui-enables-potential-system-compromise\/\"  data-wpil-monitor-id=\"70711\">potential system<\/a> compromise or data leakage.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview The cybersecurity landscape is constantly evolving, and new vulnerabilities are discovered on a routine basis. One such vulnerability that has recently been identified affects the dedupe Python library, an open-source library that uses machine learning algorithms to perform data deduplication and entity resolution on structured data. This vulnerability poses a significant threat to developers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1],"tags":[],"vendor":[79],"product":[],"attack_vector":[],"asset_type":[],"severity":[],"exploit_status":[],"class_list":["post-59911","post","type-post","status-publish","format-standard","hentry","category-uncategorized","vendor-github"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/59911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/comments?post=59911"}],"version-history":[{"count":6,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/59911\/revisions"}],"predecessor-version":[{"id":63882,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/59911\/revisions\/63882"}],"wp:attachment":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/media?parent=59911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/categories?post=59911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/tags?post=59911"},{"taxonomy":"vendor","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/vendor?post=59911"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/product?post=59911"},{"taxonomy":"attack_vector","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/attack_vector?post=59911"},{"taxonomy":"asset_type","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/asset_type?post=59911"},{"taxonomy":"severity","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/severity?post=59911"},{"taxonomy":"exploit_status","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/exploit_status?post=59911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}