Child processes spawned by Renovate incorrectly have full access to environment variables
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-269.
Summary
When Renovate spawns child processes, their access to environment variables is filtered to an allowlist, to prevent unauthorized access to privileged credentials that the Renovate process has access to. Since [42.68.1](https://github.com/renovatebot/renovate/releases/tag/42.68.1) (2025-12-30), this filtering had been **inadvertently removed**, and so any child processes spawned from these versions will have had access to any environment variables that Renovate has access to. This could lead to [insider attackers](https://docs.renovatebot.com/security-and-permissions/#execution-of-code-insider-attack) and [outside attackers](https://docs.renovatebot.com/security-and-permissions/#execution-of-code-outsider-attack) being able to exflitrate secrets from the Renovate deployment. It is recommended to rotate (+ revoke) any credentials that Renovate has access to, in case any spawned child processes have attempted to exfiltrate any secrets. ## Impact Child processes spawned by Renovate (i.e. `npm install`, anything defined in [`postUpgradeTasks`](https://docs.renovatebot.com/configuration-options/#postupgradetasks) or [`postUpdateOptions`](https://docs.renovatebot.com/configuration-options/#postupdateoptions)) will have full access to the environment variables that the Renovate process has. This could lead to [insider attackers](https://docs.renovatebot.com/security-and-permissions/#execution-of-code-insider-attack) and [outside attackers](https://docs.renovatebot.com/security-and-permissions/#execution-of-code-outsider-attack) being able to exflitrate secrets from the Renovate deployment. ## Patches This is patched in [42.96.3](https://github.com/renovatebot/renovate/releases/tag/42.96.3) and [43.4.4](https://github.com/renovatebot/renovate/releases/tag/43.4.4). ## Workarounds There are no workarounds, other than upgrading your Renovate version. ## Why did this happen? As part of work towards https://github.com/renovatebot/renovate/security/advisories/GHSA-pfq2-hh62-7m96, one of the [preparatory changes](https://github.com/renovatebot/renovate/pull/40212) we made was moving to [`execa`](https://www.npmjs.com/package/execa). One of the default behaviours of `execa` is to [extend the process' environment variables with any new ones](https://github.com/sindresorhus/execa/tree/v8.0.1?tab=readme-ov-file#extendenv), rather than override them. This was missed in code review, which meant that since this version, the full environment variables have been provided to any child processes spawned with `execa` by Renovate. This was discovered as part of an unrelated change.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | renovate (npm) | 42.68.1 to before 42.96.3 | 42.96.3 | Patch available | GHSA-8wc6-vgrq-x6cf |
| — | renovate (npm) | 43.0.0 to before 43.4.4 | 43.4.4 | Patch available | GHSA-8wc6-vgrq-x6cf |
- renovate (npm) Vendor— Affected 42.68.1 to before 42.96.3 Fixed in 42.96.3 Patch available GHSA-8wc6-vgrq-x6cf
- renovate (npm) Vendor— Affected 43.0.0 to before 43.4.4 Fixed in 43.4.4 Patch available GHSA-8wc6-vgrq-x6cf
Remediation
- Fix · GHSA-8wc6-vgrq-x6cf renovate (npm) Fixed in 42.96.3 Advisory →
- Fix · GHSA-8wc6-vgrq-x6cf renovate (npm) Fixed in 43.4.4 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-8wc6-vgrq-x6cf
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences