Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain repository write access or social-engineer a merge
-
DeliveryCraft gradle-wrapper.properties with shell substitution payload in distributionUrl
-
ExploitPush malicious file to repository monitored by Renovate
-
InstallRenovate Gradle Wrapper manager processes the file via /bin/sh
-
C2Shell evaluates $(...) payload before Gradle parses the URL
-
ExecuteArbitrary commands execute as the Renovate process
-
ImpactExfiltrate tokens and credentials or pivot to internal resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must introduce a malicious |
| Impact | The official CVSS 4.0 base score of 8.4 (AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H) assigns high privilege requirements and a local attack vector, reflecting the assessors' view that the attacker must hold repository write access and that exploitation occurs within the local Renovate execution environment. Real-world risk is materially higher than a bare CVSS reading suggests: even a mid-sized municipal IT team in sanok running Renovate over a mix of internal Gradle projects should treat this as urgent, because the Renovate process typically holds privileged GitHub or GitLab tokens with broad repository write rights plus access to CI/CD secret stores - meaning a single exploited repository can cascade into full bot-account compromise across all monitored projects. A PoC screen recording demonstrating credential-file exfiltration is included in the GHSA advisory, confirming practical exploitability. The |
| Exploit ScenarioDerived | An attacker with write access to a repository monitored by a vulnerable Renovate instance modifies |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Command injection in Renovate's Gradle Wrapper update mechanism allows arbitrary code execution inside the Renovate runtime when the tool processes a repository containing a malicious gradle-wrapper.properties. Versions >= 32.124.0 and < 42.68.5 of renovatebot/renovate (and Mend renovate-ce/renovate-ee before 13.3.0) are affected whenever Renovate performs Gradle Wrapper artifact handling. An attacker who can introduce a crafted distributionUrl containing $(...) shell substitution into a scanned repository gains arbitrary command execution as the Renovate process, potentially exfiltrating CI/CD tokens, repository credentials, and internal network resources; a proof-of-concept screen recording demonstrating /etc/passwd exfiltration exists, and no public exploit identified at time of analysis for CISA KEV status.
RemediationAI
Upgrade renovatebot/renovate to version 42.68.5 or later, released 2025-12-31, which resolves the shell injection by eliminating the unsafe shell interpolation of the distributionUrl value during Gradle Wrapper artifact handling; this fix version is confirmed by the GHSA advisory at https://github.com/renovatebot/renovate/security/advisories/GHSA-pfq2-hh62-7m96. Users of Mend renovate-ce or renovate-ee should upgrade to 13.3.0 or later per Mend's guidance. If immediate upgrade is not feasible, disable the Gradle Wrapper manager by adding gradle-wrapper to the ignoredManagers list or by restricting enabledManagers to exclude it in Renovate's configuration - this prevents Renovate from processing gradle-wrapper.properties files entirely, at the cost of losing automated Gradle Wrapper version updates. Additionally, limiting which repositories Renovate is authorized to scan to only those with fully trusted maintainer sets reduces the attacker's ability to introduce a malicious properties file; this is a defense-in-depth measure rather than a fix, since insider threat and compromised maintainer accounts remain viable attack paths. Relying on allowScripts: false provides no protection and should not be treated as a compensating control for this vulnerability.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Renovate (CPE: cpe:2.3:a:renovatebot:renovate) is an automated dependency update bot published as an npm package. Its Gradle Wrapper manager handles updates to gradle/wrapper/gradle-wrapper.properties by invoking the project's own Gradle wrapper script via a POSIX shell - specifically executing something like /bin/sh -c ... ./gradlew :wrapper --gradle-distribution-url <value>. CWE-78 (Improper Neutralization of Special Elements used in an OS Command) is the root cause: the distributionUrl value is interpolated into the shell command string without sanitization or proper quoting, so POSIX shell command substitution syntax such as $(command) or backtick expressions is expanded by /bin/sh before the string reaches Gradle for URI parsing. Gradle subsequently raises a URISyntaxException when trying to parse the now-mutated URL, but that exception arrives after the shell has already evaluated and executed the injected command. This bypasses the allowScripts: false guard entirely because that control gates repository install scripts, not Renovate's internal wrapper-update shell invocations. The affected CPE covers the npm renovate package in the range >= 32.124.0 to < 42.68.5.
Know when Renovate gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Attacker delivers payload via remote git push (AV:N); only repository write access is needed (PR:L); Renovate processes it automatically with no user interaction (UI:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Renovate versions >=32.124.0 and before 42.68.5 (and Mend renovate-ce/renovate-ee before 13.3.0) contain a command injection vulnerability in Gradle Wrapper artifact handling. When Renovate processes Gradle Wrapper updates, it invokes a wrapper update command via a shell (e.g. /bin/sh -c ... ./gradlew :wrapper --gradle-distribution-url <value>). If an attacker supplies a malicious gradle-wrapper.properties whose distributionUrl contains shell command substitution syntax such as $(...), the shell evaluates it before Gradle parses the URL, resulting in arbitrary command execution in the Renovate runtime. Exploitation requires the attacker to introduce the malicious file into a repository that Renovate scans; the issue occurs even when allowScripts is disabled.
Executive ViewAI
Renovate, a critical dependency automation tool deployed across development pipelines, contains a command injection vulnerability (CVSS 8.4) affecting versions 32.124.0 through 42.68.4 that enables arbitrary code execution when processing repositories with malicious Gradle configuration files. An attacker can exfiltrate CI/CD tokens, repository credentials, and sensitive data directly from the Renovate process, compromising the entire software supply chain. Organizations using Renovate must immediately implement compensating controls and prepare for emergency patching to prevent credential compromise and supply chain attacks.
No vendor-released patch identified at time of analysis. Until patch availability: (1) Disable Gradle Wrapper processing in Renovate configuration or restrict to Java projects using exclusively internal, validated distributions; (2) Restrict Renovate scanning to internally-managed repositories only with strict pull-request review and merge controls; (3) Rotate all CI/CD service account credentials and revoke Renovate's access to high-privilege tokens immediately; (4) Implement network segmentation to restrict Renovate's outbound connectivity to approved package registries only; (5) Execute Renovate in isolated CI/CD runners with minimal OS-level privileges and shell execution restrictions; (6) Enable comprehensive audit logging of all Renovate process activity and egress attempts for forensic investigation.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Credential exfiltration in Renovate before 44.11.3 lets a malicious or compromised GitLab server steal the authenticatio
Credential exfiltration in Renovate (renovatebot/renovate) before 44.11.2 lets a malicious or compromised container regi
Credential exfiltration in Renovate before 44.11.2 (and Mend Renovate CE/EE images/charts before 15.4.0, enterprise-edit
Credential disclosure in Renovate before 44.11.3 allows a malicious or compromised GitHub server to exfiltrate host cred
Command injection in Renovate's Maven Wrapper manager allows an attacker with write access to a scanned repository to ex
Command injection in Renovate's hermit manager (versions 32.135.0 through 40.33.0) allows an attacker with repository wr
Command injection in Renovate's helmv3 manager (versions 31.51.0 through 40.32.x) allows repository contributors with wr
Command injection in Renovate's npm manager (versions 35.63.0 through 40.33.0) allows attackers with repository write ac
Command injection in Renovate's gleam manager (versions 39.53.0 through 40.33.0 exclusive) allows attackers with reposit
Command injection in Renovate's kustomize manager (versions 39.218.0 through 40.33.0) allows repository contributors wit
Command injection in Renovate's Gradle Wrapper manager module allows a repository contributor to execute arbitrary OS co
Incomplete log sanitization in Renovate before 44.14.4 causes Mutual TLS private keys to be written in cleartext to appl
EUVD-2026-62469
GHSA-mqp7-cg7m-4hhq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB