fix(deps): update dependency renovate to v42 [security]#47
Open
github-actions[bot] wants to merge 1 commit intomainfrom
Open
fix(deps): update dependency renovate to v42 [security]#47github-actions[bot] wants to merge 1 commit intomainfrom
github-actions[bot] wants to merge 1 commit intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^41.46.5→^42.0.0Renovate vulnerable to arbitrary command injection via Gradle Wrapper and malicious
distributionUrlGHSA-pfq2-hh62-7m96
More information
Details
Summary
Renovate can be tricked into executing shell code while updating the Gradle Wrapper. A malicious
distributionUrlingradle/wrapper/gradle-wrapper.propertiescan lead to command execution in the Renovate runtime.Details
When Renovate handles Gradle Wrapper artifacts, it may run a wrapper update command such as:
./gradlew :wrapper --gradle-distribution-url <value>In the observed behavior, Renovate executes this via a shell (e.g.,
/bin/sh -c ...).If
distributionUrlcontains shell command substitution syntax like$(...), the shell evaluates it before Gradle validates/parses the URL.After that, Gradle attempts to parse the URL as a URI and fails with
URISyntaxException, but the shell substitution has already executed.This is reproducible even when
allowScriptsis disabled (default is OFF), because this execution happens as part of Gradle Wrapper artifact handling rather than “repository install scripts”.Prerequisites / attack conditions:
gradle-wrapper.propertiesinto a repository that Renovate scans (e.g., direct write access, or a maintainer merges an attacker’s change/PR).PoC
gradlew,gradlew.bat,gradle/wrapper/gradle-wrapper.jar, andgradle/wrapper/gradle-wrapper.properties).distributionUrlingradle-wrapper.propertiesto include$(...).URISyntaxException.A screen recording is attached showing end-to-end reproduction. In the demo, the payload creates
/tmp/passwd_dumpcontaining/etc/passwd, demonstrating that file read/exfiltration is possible within the Renovate execution context.Impact
This allows arbitrary command execution in the Renovate runtime during Gradle Wrapper updates. Depending on deployment, this may expose credentials/tokens available to the bot and may allow an attacker to modify repositories or access internal resources reachable from the Renovate environment.
Remediation
Upgrading to Renovate 42.68.5 (2025-12-31) fixes this issue, and closes out other risks of shell evaluation for commands run by Renovate.
If using the
composer,yarn(v1) orfluxmanagers, please upgrade to 42.74.5 (2026-01-08), as there were follow-up fixes to keep these managers working.Severity
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
renovatebot/renovate (renovate)
v42.68.5Compare Source
Bug Fixes
shellmode (140a777)shellby default (f430552)Documentation
postUpgradeTaskswith shell execution (d2872e2)Code Refactoring
execa(a0a84a4)Tests
exec(bebff1c)encodingfrom stubs (#40221) (8fab5f0)shellparameter (d0bee7f)v42.68.4Compare Source
Bug Fixes
v42.68.3Compare Source
Bug Fixes
Miscellaneous Chores
f05033a(main) (#40222) (021ace6)v42.68.2Compare Source
Bug Fixes
v42.68.1Compare Source
Bug Fixes
execafor command execution (#40212) (e773b32)Miscellaneous Chores
v42.68.0Compare Source
Features
exactversioning (#40098) (22721ed)Miscellaneous Chores
v42.67.0Compare Source
Features
Documentation
Miscellaneous Chores
5279485(main) (#40211) (4c7edaf)5fdc8eb(main) (#40210) (14b4782)8797f8e(main) (#40209) (e1d620e)Code Refactoring
encodingproperty (#40199) (39bfc09)v42.66.14Compare Source
Bug Fixes
v42.66.13Compare Source
Bug Fixes
Miscellaneous Chores
Code Refactoring
rawExecfor commands (#40200) (a0de103)v42.66.12Compare Source
Bug Fixes
Documentation
Miscellaneous Chores
Code Refactoring
v42.66.11Compare Source
Bug Fixes
bitbucket-serveras platform cache key (#40168) (fb15aa4)Miscellaneous Chores
node_modulesfrom tsconfig (#40179) (4b8803d)v42.66.10Compare Source
Bug Fixes
v42.66.9Compare Source
Build System
v42.66.8Compare Source
Bug Fixes
Miscellaneous Chores
v42.66.7Compare Source
Miscellaneous Chores
Build System
v42.66.6Compare Source
Build System
v42.66.5Compare Source
Build System
v42.66.4Compare Source
Build System
v42.66.3Compare Source
Bug Fixes
v42.66.2Compare Source
Bug Fixes
Miscellaneous Chores
v42.66.1Compare Source
Bug Fixes
Miscellaneous Chores
Tests
rawExecvsexectests (#40123) (650b2be)v42.66.0Compare Source
Features
v42.65.2Compare Source
Bug Fixes
Miscellaneous Chores
v42.65.1Compare Source
Bug Fixes
Build System
v42.65.0Compare Source
Features
Bug Fixes
Documentation
Miscellaneous Chores
v42.64.1Compare Source
Build System
v42.64.0Compare Source
Features
Code Refactoring
createdAtfield (#40063) (a052292)v42.63.0Compare Source
Features
Bug Fixes
Miscellaneous Chores
v42.62.0Compare Source
Features
allowedUnsafeExecutionsfor./gradlew(#39945) (f504709)Bug Fixes
Documentation
./gradlewfor Verificaton Metadata updates (#40044) (0723e80)v42.61.0Compare Source
Features
tsconfigNodeVersionsfile patterns (#40034) (71e1724)v42.60.0Compare Source
Features
workarounds:clamavDockerImageVersioning(#40035) (dfde989)Documentation
Miscellaneous Chores
Code Refactoring
v42.59.1Compare Source
Bug Fixes
releaseTimestampis returned correctly (#39899) (844e299), closes #35936v42.59.0Compare Source
Features
v42.58.4Compare Source
Bug Fixes
v42.58.3Compare Source
Bug Fixes
forgejo-*host types (#39968) (a8ee664)Miscellaneous Chores
v42.58.2Compare Source
Bug Fixes
v42.58.1Compare Source
Miscellaneous Chores
Code Refactoring
Build System
v42.58.0Compare Source
Features
Bug Fixes
Miscellaneous Chores
492b292(main) (#40018) (9f49cbf)v42.57.1Compare Source
Bug Fixes
Miscellaneous Chores
v42.57.0Compare Source
Features
onboardingAutoCloseAge(#39876) (ef0ff99)v42.56.0Compare Source
Features
v42.55.0Compare Source
Features
Miscellaneous Chores
v42.54.3Compare Source
Bug Fixes
v42.54.2Compare Source
Bug Fixes
Miscellaneous Chores
v42.54.1Compare Source
Bug Fixes
helpers:githubDigestChangelogsshould only apply to Git digest updates (#39995) (1bd574c)v42.54.0Compare Source
Features
Bug Fixes
Documentation
Miscellaneous Chores
v42.53.0Compare Source
Features
Bug Fixes
mypackage[myextra]) optional (#39480) (9499ad6)Documentation
Miscellaneous Chores
v42.52.8Compare Source
Bug Fixes
v42.52.7Compare Source
Bug Fixes
Miscellaneous Chores
v42.52.6Compare Source
Build System
v42.52.5Compare Source
Build System
v42.52.4Compare Source
Bug Fixes
Miscellaneous Chores
[
v42.52.3](https://redirect.gConfiguration
📅 Schedule: Branch creation - "" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.