CVE-2024-36138
High · 8.1CVSS
8.1
EPSS
1.1%
Published
Sep 7, 2024
CISA due date
—
Cloudanix analysis
A flaw in handling certain Windows files allows attackers to run unauthorized commands on computers if not updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows bypassing an incomplete fix for command injection in Node.js child_process.spawn and spawnSync on Windows by exploiting improper handling of batch file extensions, enabling arbitrary command execution via malicious arguments without enabling the shell option.
Why it matters to the business
Attackers can gain unauthorized code execution on Windows systems running affected applications, risking data compromise and system control. Low exploitation likelihood based on current metrics, with no known ransomware use or CISA deadlines.
How an attack unfolds
An attacker supplies a specially crafted command-line argument to functions like child_process.spawn when processing batch files, injecting and executing arbitrary commands on the target system.
How to fix it
Update affected packages to fixed versions such as mysql-client (Bitnami) to 10.4.25 or later equivalents from vendors.
How to confirm the fix worked
Verify package versions are updated and test that batch file handling no longer allows injection.
Typical attack path
- Locate applications using vulnerable child_process calls on Windows
- Craft and deliver malicious argument to trigger injection
- Execute arbitrary commands for code execution
How to detect it
Examine logs for unusual command executions or arguments in processes using child_process, though specific indicators are limited.
What your security team should do
- Prioritize updating vulnerable dependencies
- Review code for child_process usage on Windows
- Monitor for any exploitation attempts
The record
Bypass incomplete fix of CVE-2024-27980, that arises from improper handling of batch files with all possible extensions on Windows via child_process.spawn / child_process.spawnSync. A malicious command line argument can inject arbitrary commands and achieve code execution even if the shell option is not enabled.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.19 | nodejs | 0 | 0 |
| Alpine:v3.20 | nodejs | 0 | 0 |
| Alpine:v3.21 | nodejs | 0 | 0 |
| Alpine:v3.22 | nodejs | 0 | 0 |
| Bitnami | node | 0 | 18.20.4 |
| Bitnami | node-min | 0 | 18.20.4 |
| Bitnami | node-min | 0 | 18.20.5 |
| Chainguard | nodejs-16 | 0 | 16.20.2-r16 |
| Chainguard | nodejs-16-doc | 0 | 16.20.2-r16 |
| Chainguard | nodejs-21 | 0 | 21.7.3-r13 |
| Chainguard | nodejs-21-doc | 0 | 21.7.3-r13 |
| Mageia:9 | nodejs | 0 | 22.6.0-1.mga9 |
| Mageia:9 | yarnpkg | 0 | 1.22.22-0.10.8.2.1.mga9 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | nodejs18 | 0 | 18.20.4-8.24.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP5 | nodejs18 | 0 | 18.20.4-150400.9.24.2 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP5 | nodejs20 | 0 | 20.15.1-150500.11.12.2 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 | nodejs20 | 0 | 20.15.1-150600.3.3.2 |
| Ubuntu:20.04:LTS | nodejs | 0 | No fix |
| Ubuntu:22.04:LTS | nodejs | 0 | No fix |
| Ubuntu:24.04:LTS | nodejs | 0 | No fix |
| Ubuntu:24.10 | nodejs | 0 | No fix |
| Ubuntu:25.04 | nodejs | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | nodejs | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | nodejs | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | nodejs | 0 | No fix |
| Wolfi | nodejs-16 | 0 | 16.20.2-r16 |
| Wolfi | nodejs-16-doc | 0 | 16.20.2-r16 |
| Wolfi | nodejs-21 | 0 | 21.7.3-r13 |
| Wolfi | nodejs-21-doc | 0 | 21.7.3-r13 |
| openSUSE:Leap 15.5 | nodejs18 | 0 | 18.20.4-150400.9.24.2 |
| openSUSE:Leap 15.5 | nodejs20 | 0 | 20.15.1-150500.11.12.2 |
| openSUSE:Leap 15.6 | nodejs20 | 0 | 20.15.1-150600.3.3.2 |
| openSUSE:Tumbleweed | nodejs22 | 0 | 22.10.0-1.1 |
| openSUSE:Tumbleweed | nodejs24 | 0 | 24.11.1-2.1 |
| openSUSE:Tumbleweed | nodejs26 | 0 | 26.3.1-1.1 |
Related vulnerabilities
- CVE-2024-37372 The Permission Model assumes that any path starting with two backslashes \ has a… Also affects nodejs
- CVE-2023-39333 Maliciously crafted export names in an imported WebAssembly module can inject JavaScript… Also affects nodejs
- CVE-2024-36137 A vulnerability has been identified in Node.js, affecting users of the experimental… Also affects nodejs
- CVE-2024-22018 A vulnerability has been identified in Node.js, affecting users of the experimental… Also affects nodejs
- CVE-2024-22020 A security flaw in Node.js allows a bypass of network import restrictions. Also affects nodejs
- CVE-2024-27982 The team has identified a critical vulnerability in the http server of the most recent… Also affects nodejs
- CVE-2024-27983 An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small… Also affects nodejs
- CVE-2022-3786 A buffer overrun can be triggered in X.509 certificate verification, specifically in name… Also affects nodejs