Executive brief
Renovate is a popular dependency update automation tool used by development teams to keep their software libraries and frameworks current. A command injection vulnerability in Renovate's Go module manager allows attackers to execute arbitrary commands on systems running Renovate in Docker mode when processing Go modules with malicious package names during import path updates. This could lead to complete system compromise and unauthorized access to the Renovate server and any code repositories it manages.
Technical details
This is an OS command injection vulnerability (CWE-78) in Renovate's gomod manager that occurs when processing Go module import path updates. The vulnerable code fails to properly escape or sanitize the depName parameter when constructing shell commands for the external `mod` utility during Go module major version updates. The attack requires several preconditions: the Renovate instance must be running in binarySource=docker mode (now deprecated), have gomodUpdateImportPaths enabled in postUpdateOptions, and encounter a Go dependency with a malicious package name. An attacker with the ability to commit code to the repository's default branch (or control a malicious Go module proxy) can inject shell metacharacters into the dependency name to achieve arbitrary command execution as the Renovate user. The vulnerability is patched in Renovate version 44.14.7 and corresponding releases of the CE/EE variants (15.4.0 and later).
Affected products
- Renovate Renovate before 44.14.7
- Mend Renovate CE before 15.4.0
- Mend Renovate EE Server before 15.4.0
- Mend Renovate EE Worker before 15.4.0
Timeline
- 2026-08-27: disclosed: GitHub Security Advisory (GHSA-mpf8-qxrw-gq3w) published
- 2026-09-10: advisory: CVE-2026-88885 published on NVD
- 2026-09-10: patched: Patches released: Renovate 44.14.7, Renovate CE/EE 15.4.0, Renovate EE-Enterprise 10.4.0