Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain repository write access
-
DeliveryCommit malicious renovate.json5 with shell-injected overridePackageName
-
ExploitRenovate scheduled run fetches and parses the configuration
-
ExecutionUnsanitized packageName appended to npm install shell command
-
ImpactArbitrary commands execute on the Renovate CI runner host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique 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 | Exploitation requires the attacker to hold repository write access (e.g., GitHub contributor, maintainer, or equivalent SCM role) to a repository that is actively monitored by a self-hosted Renovate instance. The specific vulnerable code path is triggered during npm lock file maintenance operations (the |
| Impact | The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H) reflects low attack complexity but a meaningful privilege barrier - repository write access is required, limiting the exploitable population to trusted contributors or maintainers of repositories actively managed by a self-hosted Renovate instance. The absence of this CVE from the CISA KEV catalog and the lack of a provided EPSS score suggest exploitation has not reached broad commodity levels, but the publicly available proof of concept in the official advisory (GHSA-fr4j-65pv-gjjj) drastically lowers the skill threshold for any insider or compromised contributor. Real-world risk is highest in organizations running self-hosted Renovate with broad CI permissions on shared runner infrastructure; even a mid-sized municipal IT team in olsztyn operating self-hosted Renovate on a shared GitLab runner should treat this as urgent, given that successful exploitation yields full command execution on the runner host rather than just the repository. Organizations relying on the managed Renovate GitHub App face substantially reduced risk since they do not control the execution environment. No conflicting CVSS signals were identified; the PR:H rating is consistent with the repository-write-access prerequisite described in the advisory. |
| Exploit ScenarioDerived | An attacker with Git write access to a repository managed by a self-hosted Renovate instance commits a |
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 npm manager (versions 35.63.0 through 40.33.0) allows attackers with repository write access to execute arbitrary commands on the CI/CD host running Renovate by supplying malicious packageName values via a crafted renovate.json5 configuration file. The root cause is in lib/modules/manager/npm/post-update/npm.ts, where user-controlled package names and workspace keys are interpolated directly into shell commands during lock file maintenance without shell escaping via shlex.quote(). A working proof of concept is publicly available in the official GitHub Security Advisory (GHSA-fr4j-65pv-gjjj), and a vendor-released patch exists in version 40.33.0; no confirmed active exploitation has been reported at time of analysis.
RemediationAI
Vendor-released patch: 40.33.0. Upgrade Renovate to version 40.33.0 or later, which applies proper shell escaping via shlex.quote() to packageName values and workspace keys before constructing npm install commands. The underlying fixes are in commits 012c0ac2fe32832e60a62bde405c0a241efd314c and a70a6a376d31148e80be5a5c885ac33ff5ddb30c (https://github.com/renovatebot/renovate/commit/012c0ac2fe32832e60a62bde405c0a241efd314c). If an immediate upgrade is not feasible, restrict repository write access so that only highly trusted accounts can modify renovate.json or renovate.json5 configuration files; this eliminates the attack vector at the access control layer but requires careful enforcement and may disrupt normal contributor workflows. Additionally, consider sandboxing the Renovate runner process using a minimal-privilege container or ephemeral runner so that command injection impact is contained - note this mitigates impact rather than the vulnerability itself, and does not prevent code execution within the runner boundary. Full advisory is at https://github.com/renovatebot/renovate/security/advisories/GHSA-fr4j-65pv-gjjj.
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 is an open-source Node.js dependency-update automation tool (CPE: cpe:2.3:a:renovatebot:renovate) widely deployed in CI/CD pipelines to manage npm, pip, and other package ecosystems. The vulnerability is classified as CWE-77 (Improper Neutralization of Special Elements Used in a Command) and exists specifically in the npm manager's post-update logic in lib/modules/manager/npm/post-update/npm.ts. During lock file maintenance, Renovate constructs shell commands like npm install <packageName> using the packageName field from dependency update objects and workspace names from managerData; neither value is passed through the quote() function from the shlex package before being appended to the command string. Shell metacharacters such as semicolons, pipes, and backticks therefore break command boundaries and inject arbitrary commands. The flaw was introduced in version 35.63.0 (April 27, 2023) when the codebase transitioned from using depName to packageName in update command construction, and the shell-quoting guard was not applied to the new field.
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
Repository write access maps to PR:H and AV:L since exploitation is mediated through a locally-processed Renovate config file; full RCE on the runner yields C:H/I:H/A:H with no cross-system scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Renovate versions from 35.63.0 before 40.33.0 contain a command injection vulnerability in the npm manager where user-provided packageName values are appended to npm install commands without proper sanitization. Attackers with repository write access can craft malicious Renovate configuration files to execute arbitrary commands on the machine running Renovate.
Articles & Coverage 1
Executive ViewAI
Renovate's dependency management tool contains a command injection vulnerability allowing individuals with repository write access to execute arbitrary code on CI/CD infrastructure; exploit code is publicly available. This directly threatens supply chain integrity, with potential for code injection, credential compromise, and unauthorized access to build systems.
Apply vendor patch.
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 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 update mechanism allows arbitrary code execution inside the Renovate runt
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-62471
GHSA-8rp2-gc6p-4hgp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB