Repository takeover via untrusted pull-request checkout
Published Jul 30, 2025 · Updated Jul 30, 2025
Command injection in dedupe's benchmark-bot workflow allows remote attackers to execute pull-request code in GitHub Actions. The issue_comment job checks out an attacker-controlled pull-request branch, then pip installs its package and requirements without isolating untrusted code. Posting @benchmark on a pull request is sufficient to run that code, expose the write-enabled GITHUB_TOKEN, and permit repository modification.
Summary
What happened
Command injection in dedupe's benchmark-bot workflow allows remote attackers to execute pull-request code in GitHub Actions. The issue_comment job checks out an attacker-controlled pull-request branch, then pip installs its package and requirements without isolating untrusted code. Posting @benchmark on a pull request is sufficient to run that code, expose the write-enabled GITHUB_TOKEN, and permit repository modification.
The record
- CVE
- CVE-2025-54430
- Published
- Jul 30, 2025
- Updated
- Jul 30, 2025
- Vendor
- Dedupe.io
- Product
- dedupe
- Classifications
- CWE-78, T1059.006, T1528
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Jul 30, 2025CVE publishedPublication date reported by the CVE source.
- Jul 30, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=< 3f61e79102910bd355e920a2df7e44c14c9cb247
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- GitHub advisory proof of conceptfunctional · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo