cdxgen v11.6.0 has been released with the updated version of Node.js 24.6.0. This version offers complete mitigation.
Impact
cdxgen offers single executable application (SEA) binaries for a variety of platforms, including Windows. These binaries (built using @appthreat/caxa) bundle a full Node.js runtime for ease of use and deployment. Beginning with versions v10.10.1
, affected versions of Node.js are bundled along with the published SEA binaries.
The upstream vulnerability in Node.js only affects Windows users who use the following release artefacts:
- cdxgen.exe
- cdxgen-slim.exe
- cdxgen-windows-arm64.exe
- cdxgen-windows-amd64.exe
- cdxgen-windows-arm64-slim.exe
- cdxgen-windows-amd64-slim.exe
- cdx-verify.exe
- cdx-verify-windows-amd64.exe
- cdx-verify-windows-arm64.exe
Testing
cdxgen --server
Invoke-RestMethod -Uri "http://localhost:9090/sbom" -Method POST -ContentType "application/json" -Body '{"path": "COM1:../foo", "type": "js"}'
The message Generating SBOM for COM1:../foo
confirms the presence of the vulnerability.
Invoke the API with an absolute path 'C:\Users\BANDHAN MAJUMDER\Downloads\open source\testing\cdxgen\COM1:..\foo' to reduce security risks.
Generating SBOM for COM1:../foo
In patched versions, an 403 error would get thrown with the body:
{
error: "Path Not Allowed",
details: "Path is not allowed as per the allowlist."
}
Patches
The following patches were added and merged to the master
branch.
cdxgen v11.6.0 has been released with the updated version of Node.js 24.6.0. This version offers complete mitigation thanks to the two PRs below in Node.js.
nodejs/node#59286
nodejs/node#59261
Workarounds
Update node.js to the latest version that includes the fixes for CVE-2025-27210
. These are:
- 24.6.0 (Full mitigation)
- 22.18.0 (Partial mitigation)
- 20.19.4 (Partial mitigation)
cdxgen team, however, believe that the mitigation offered by updating Node.js runtime alone is quite limited due to the use of blocklists (rather than allowlists).
When using cdxgen in Windows (CLI, server, container), ensure the file path does not begin with device names such as con
, com1
, lpt1
, etc.
Some example paths that could lead to path traversal are:
CON:../foo
CON:..\\..\\foo\\bar\\
PRN:.\\..\\bar
LpT5:/another/path
PRN:.././../etc/passwd
AUX:/foo\\bar/baz
In server mode, use the environment variable CDXGEN_SERVER_ALLOWED_PATHS
as an allow list for trusted paths. The fix version (unreleased) includes multiple patches to validate and filter for any windows device names and problematic unicode characters.
References
nodejs/node@56f9db2aaa
https://hackerone.com/reports/3160912
https://nodejs.org/en/blog/vulnerability/january-2025-security-releases#path-traversal-by-drive-name-in-windows-environment-cve-2025-23084---medium
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file
nodejs/node#59286
nodejs/node#59261
cdxgen v11.6.0 has been released with the updated version of Node.js 24.6.0. This version offers complete mitigation.
Impact
cdxgen offers single executable application (SEA) binaries for a variety of platforms, including Windows. These binaries (built using @appthreat/caxa) bundle a full Node.js runtime for ease of use and deployment. Beginning with versions
v10.10.1
, affected versions of Node.js are bundled along with the published SEA binaries.The upstream vulnerability in Node.js only affects Windows users who use the following release artefacts:
Testing
The message
Generating SBOM for COM1:../foo
confirms the presence of the vulnerability.In patched versions, an 403 error would get thrown with the body:
Patches
The following patches were added and merged to the
master
branch.cdxgen v11.6.0 has been released with the updated version of Node.js 24.6.0. This version offers complete mitigation thanks to the two PRs below in Node.js.
nodejs/node#59286
nodejs/node#59261
Workarounds
Update node.js to the latest version that includes the fixes for
CVE-2025-27210
. These are:cdxgen team, however, believe that the mitigation offered by updating Node.js runtime alone is quite limited due to the use of blocklists (rather than allowlists).
When using cdxgen in Windows (CLI, server, container), ensure the file path does not begin with device names such as
con
,com1
,lpt1
, etc.Some example paths that could lead to path traversal are:
In server mode, use the environment variable
CDXGEN_SERVER_ALLOWED_PATHS
as an allow list for trusted paths. The fix version (unreleased) includes multiple patches to validate and filter for any windows device names and problematic unicode characters.References
nodejs/node@56f9db2aaa
https://hackerone.com/reports/3160912
https://nodejs.org/en/blog/vulnerability/january-2025-security-releases#path-traversal-by-drive-name-in-windows-environment-cve-2025-23084---medium
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file
nodejs/node#59286
nodejs/node#59261