chore(deps): update dependency @cyclonedx/cyclonedx-npm to v5 [security] - #4497
renovate[bot] wants to merge 1 commit into
Conversation
c94f23d to
bfe0e8d
Compare
bfe0e8d to
06da872
Compare
|
06da872 to
8b1c0e4
Compare
|
6756d7f to
e00d805
Compare
116e04d to
40c6c35
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
502c0d8 to
fa93a9b
Compare
fa93a9b to
e719f21
Compare
|



This PR contains the following updates:
^4.2.1→^5.0.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
@cyclonedx/cyclonedx-npm: Shell Injection via Unsanitized --workspace Argument
CVE-2026-55849 / GHSA-v75r-vx73-82pj
More information
Details
Summary
A command injection vulnerability exists in
@cyclonedx/cyclonedx-npmwhen the CLI is invoked with the--workspace <value>option while the environment variablenpm_execpathis unset or empty.User‑supplied
--workspacevalues are passed to a subshell without proper sanitization, enabling attackers to inject arbitrary OS commands.This issue corresponds to CWE‑78: Improper Neutralization of Special Elements used in an OS Command.
The vulnerability was fixed in version 5.0.0.
Vulnerability Details
When
cyclonedx-npmis executed with the--workspaceoption, the provided argument is incorporated into an internal shell command.If the environment variable
npm_execpathis set, the tool uses the npm executable directly and no injection occurs.However, when
npm_execpathis unset or empty, the tool falls back to spawning a subshell and interpolating the--workspacevalue directly into the command string without proper escaping or neutralization.As a result, specially crafted workspace names can break out of the intended command context and execute arbitrary commands with the privileges of the invoking user.
Impact
An attacker who can influence the value passed to
--workspacecan execute arbitrary OS commands.This may lead to:
The vulnerability affects only scenarios where:
cyclonedx-npmwith--workspace <value>, andnpm_execpathis unset or emptyExploitation Conditions (High‑Level)
Exploitation requires the attacker to supply or influence the
--workspacevalue passed to the CLI.If the tool falls back to its subshell execution path, specially crafted workspace identifiers can cause unintended command execution.
No exploit code is included here to avoid providing weaponizable examples.
Root Cause
The CLI constructs a shell command using untrusted input from the
--workspaceoption.Because the fallback code path does not sanitize or escape the workspace value, special shell metacharacters (e.g.,
;,&&,|) are interpreted by the shell, enabling command injection.This behavior matches CWE‑78.
Fix
The vulnerability was resolved in PR #1476, which ensures that workspace values are handled safely and are no longer passed to a subshell in an unsafe manner.
The fix is included in
@cyclonedx/cyclonedx-npmversion 5.0.0.Remediation
npm_execpathis set before invoking the tool.--workspaceoption.Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
CycloneDX/cyclonedx-node-npm (@cyclonedx/cyclonedx-npm)
v5.0.0Compare Source
npmis now executed explicitly rather than through a subshell.The behavior when
npm_execpathis present remains unchanged.--workspaceargument (via #1476)See GHSA-v75r-vx73-82pj
Configuration
📅 Schedule: (in timezone Europe/Berlin)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.