Nx @nx/docker: OS command injection in release pipeline
Summary
The @nx/docker package of the Nx monorepo tool builds Docker tag, image lookup and push commands as shell strings from release configuration values. An attacker who can change the Nx configuration, for example through a pull request, can run arbitrary shell commands during nx release version or nx release publish. These commands run with the privileges of the release job and can expose registry credentials or cloud tokens.
Affected
- @nx/docker >= 21.4.0 and < 22.7.8
- @nx/docker >= 23.0.0 and < 23.1.1
Fixed in
- Upgrade to 22.7.8 (22.x line)
- Upgrade to 23.1.1 (23.x line)
Workaround
- No vendor workaround other than upgrading.
- If a release ran with an untrusted configuration, delete the generated Docker version file before the next publish.
- Review changes to release.docker settings in pull requests before release jobs run on them.
Exploitation
- CISA SSVC assessment in the CVE record: exploitation none, not automatable, total technical impact.
- The vendor advisory reports no known exploitation in the wild.
Our recommendation
- Check lockfiles and CI pipelines for @nx/docker in the affected ranges and upgrade to 22.7.8 or 23.1.1.
- Restrict release jobs so that pull requests from untrusted sources cannot change release configuration or access registry and cloud credentials.
- Rotate registry and cloud credentials if a release job ran untrusted configuration.
- Monitor CI logs for unexpected commands during release steps.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-6vc5-vf29-ffr2 github.com
- Fix commit 6d60eed (docker release commands without shell) github.com
- Fix commit b587441 (docker release commands without shell) github.com
- Pull request nrwl/nx #36505 github.com
- OSV entry CVE-2026-104859 osv.dev
- GitHub advisory GHSA-6vc5-vf29-ffr2 (advisories mirror) github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 3 Nov 2026, 02:36.
Original description (NVD)
Nx is a monorepo solution for TypeScript and polyglot codebases. From 21.4.0 until 22.7.8 and from 23.0.0 until 23.1.1, the @nx/docker release pipeline builds docker tag, image lookup, and docker push invocations as shell command strings. The release.docker.repositoryName and registryUrl configuration values are interpolated into those strings and passed to /bin/sh -c, allowing shell syntax in untrusted Nx configuration to execute during nx release version or nx release publish. A pull request or repository configuration change can therefore execute commands with the release job's privileges and expose registry credentials or cloud tokens, and dry-run publishing does not prevent the vulnerable pre-check command from executing. This issue is fixed in versions 22.7.8 and 23.1.1.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
