CreateProcess (Windows) CVE-2024-3566
CRITICALAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify Windows app using vulnerable runtime
-
DeliveryLocate input passed to subprocess call
-
ExploitCraft payload with cmd.exe metacharacters
-
InstallSubmit via network request
-
C2CreateProcess invokes cmd.exe with injected args
-
ExecuteArbitrary commands execute under service account
-
ImpactEstablish foothold or pivot
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the target application (1) runs on Windows, (2) uses a vulnerable version of Node.js, PHP, Rust, Haskell process library, or yt-dlp to spawn child processes, and (3) passes attacker-controllable data into the argument list of a subprocess call - typically one that invokes a .bat/.cmd file or otherwise triggers implicit cmd.exe dispatch through CreateProcess. Exploitation is limited by the need for the application to actually forward untrusted input to subprocess APIs on Windows; pure Linux/macOS deployments, applications that do not shell out, and applications that already sanitize against cmd.exe metacharacters are not exposed despite running an affected runtime version. |
| Impact | CVSS 9.8 (AV:N/AC:L/PR:N/UI:N) reflects worst-case downstream exposure: a network-reachable application written in any of these runtimes that forwards untrusted input into a subprocess call on Windows can yield unauthenticated RCE with high CIA impact. EPSS at 7.09% / 92nd percentile and a publicly available POC raise this above background noise, yet absence from CISA KEV suggests exploitation has not been confirmed at scale. The CVSS vector describes the worst-case downstream scenario rather than the API itself - actual exploitability depends entirely on whether a given application passes attacker-controlled data to subprocess APIs on Windows and which runtime version it uses, so blanket prioritization by CVSS alone will over- or under-state risk for any specific deployment. |
| Exploit ScenarioDerived | A web service running on Windows uses a vulnerable Node.js or PHP version to invoke a helper tool (for example, an image converter or yt-dlp) with a user-supplied filename or URL as an argument. The attacker submits a crafted value containing cmd.exe metacharacters that survives the runtime's argument escaping; CreateProcess hands it to cmd.exe, which interprets the embedded payload as an additional command and executes it under the service account. A public POC exists, lowering the barrier from theoretical to practical. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Command injection via Windows CreateProcess argument parsing affects multiple language runtimes and tooling (Node.js, PHP, Rust, Haskell process library, yt-dlp) that wrap the API without compensating for its quirks. Remote attackers can smuggle additional commands through arguments passed to child processes when applications spawn batch files or otherwise rely on CreateProcess's implicit cmd.exe handling. Publicly available exploit code exists and EPSS of 7.09% (92nd percentile) signals elevated, though not confirmed in-the-wild, exploitation interest; this CVE is not listed in CISA KEV.
RemediationAI
Upgrade to the patched release for each affected runtime: Node.js, PHP, Rust, the Haskell process library, and yt-dlp each issued coordinated fixes - consult the respective project security advisories linked from the NVD entry for the exact patched version applicable to your branch. Where immediate patching is not possible, compensating controls include refusing to invoke .bat/.cmd files from subprocess APIs (call the underlying executable directly, side-stepping cmd.exe), strictly allow-listing argument characters before passing them to spawn/exec functions, or running Windows workloads on alternative shells via explicit cmd.exe invocation with manual escaping - note that disallowing batch files may break legitimate workflows that depend on .bat wrappers, and character allow-listing risks rejecting valid input such as filenames with spaces or special characters.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw (CWE-77, Improper Neutralization of Special Elements used in a Command) stems from how Windows' CreateProcess API parses command-line arguments, particularly when invoking .bat/.cmd files which are silently dispatched via cmd.exe. Language standard libraries and ecosystem tools historically escaped arguments assuming a single, consistent parser, but cmd.exe applies its own metacharacter rules (caret, quotes, ampersand, pipe), allowing crafted arguments to break out of quoting and inject additional commands. Affected CPEs span the Haskell process library, multiple Node.js branches, multiple PHP branches, Rust standard library, and yt-dlp - all of which expose subprocess-spawning APIs that downstream applications use to pass user input to external programs on Windows.
Know when Yt Dlp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
DescriptionCVE.org
A command inject vulnerability allows an attacker to perform command injection on Windows applications that indirectly depend on the CreateProcess function when the specific conditions are satisfied.
Executive ViewAI
A critical Windows API vulnerability (CVE-2024-3566, CVSS 9.8) in CreateProcess argument parsing allows remote command injection through popular language runtimes including Node.js, PHP, Rust, and tools like yt-dlp. Organizations using these technologies on Windows for development, CI/CD pipelines, or web services face immediate risk of unauthorized code execution; exploitation is particularly dangerous because publicly available exploit code exists, yet no vendor patch is currently available.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict input validation and sanitization on all arguments passed to child processes; (2) Where possible, avoid spawning batch files-use direct executable calls; (3) Apply network segmentation to limit lateral movement from compromised services; (4) Deploy intrusion detection signatures monitoring for CreateProcess abuse patterns; (5) Restrict application privileges following principle of least privilege; (6) Monitor vendor advisories for Node.js, PHP, Rust Foundation, and yt-dlp projects for patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Affected Products (CPE)CVE.org
yt-dlp is a command-line audio/video downloader. [CVSS 8.8 HIGH]
yt-dlp is a youtube-dl fork with additional features and fixes. Rated high severity (CVSS 7.8), this vulnerability is no
Command injection in yt-dlp and youtube-dl before 2026.7.4 lets a malicious video/webpage host smuggle attacker-controll
yt-dlp is a command-line program to download videos from video sites. Rated high severity (CVSS 8.2), this vulnerability
yt-dlp is a youtube-dl fork with additional features and fixes. Rated low severity (CVSS 3.7), this vulnerability is rem
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB