CVE-2024-24576

CRITICALNVD 10.010.0
EchelonGraph scoreMEDIUM confidence

“—” beside the score: it is equal to NVD's CVSS score.

This critical-severity CVE scores 10.0 under NVD CVSS v3. EPSS exploit probability: 20% (97th percentile of EPSS-scored CVEs). No GitHub Security Advisory CVSS is on record for this CVE.

Triggered by: Headline CVSS from NVD CVSS v3
Sources: EPSS, NVD CVSS v3
Elevated

Also known asEUVD-2024-21981 (ENISA EUVD)Source: ENISA EUVD

10.0EG
EchelonGraph verdictPlan mitigationNo fix is confirmed yet: check the vendor's advisory for a fixed release; until one is applied, restrict network exposure of the affected system or apply the vendor's mitigation on your normal schedule at low or medium mission impact and sooner than that at high (the SSVC decision on this page).
  • Public exploit or proof-of-concept code is available
CISA-KEV: Not listedEPSS PROB: 20%CVSS: 10.0Exploit: Public PoCExposed services: Not assessed

No fix is confirmed yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for the fix.

CISA-ADP, in the CVE record, lists rust-lang rust versions before 1.77.2 as affected. No release containing a fix is confirmed on record.

Rust is a programming language. The Rust Security Response WG was notified that the Rust standard library prior to version 1.77.2 did not properly escape arguments when invoking batch files (with the bat and cmd extensions) on Windows using the Command. An attacker able to control the arguments passed to the spawned process could execute arbitrary shell commands by bypassing the escaping. The severity of this vulnerability is critical for those who invoke batch files on Windows with untrusted arguments. No other platform or use is affected.

The Command::arg and Command::args APIs state in their documentation that the arguments will be passed to the spawned process as-is, regardless of the content of the arguments, and will not be evaluated by a shell. This means it should be safe to pass untrusted input as an argument.

On Windows, the implementation of this is more complex than other platforms, because the Windows API only provides a single string containing all the arguments to the spawned process, and it's up to the spawned process to split them. Most programs use the standard C run-time argv, which in practice results in a mostly consistent way arguments are splitted.

One exception though is cmd.exe (used among other things to execute batch files), which has its own argument splitting logic. That forces the standard library to implement custom escaping for arguments passed to batch files. Unfortunately it was reported that our escaping logic was not thorough enough, and it was possible to pass malicious arguments that would result in arbitrary shell execution.

Due to the complexity of cmd.exe, we didn't identify a solution that would correctly escape arguments in all cases. To maintain our API guarantees, we improved the robustness of the escaping code, and changed the Command API to return an InvalidInput error when it cannot safely escape an argument. This error will be emitted when spawning the process.

The fix is included in Rust 1.77.2. Note that the new escaping logic for batch files errs on the conservative side, and could reject valid arguments. Those who implement the escaping themselves or only handle trusted inputs on Windows can also use the CommandExt::raw_arg method to bypass the standard library's escaping logic.

CVSS v3
10.0
EG Score
10.0CRITICALmedium confidence
EG Risk
76
EG Risk 76/100

EG Risk is EchelonGraph's 0–100 priority score. It fuses impact severity (EG Severity, the CVSS base score, never the KEV-floored or EPSS-lifted EG Score) with real-world exploitation and automatability, under weights EchelonGraph set by hand, so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner.

How it’s computed (value × EchelonGraph’s weight)
Severity100% × 45%
Impact severity (EG Severity): CVSS 10.0 of 10. Never the KEV-floored or EPSS-lifted EG Score.
Exploitation40% × 40%
EchelonGraph's fixed weight for EG-KEV Tier 3 (Elevated): a constant, not a probability.
Automatability100% × 15%
CISA's SSVC Automatable value: yes (Vulnrichment).
SSVC (CISA's decision table, applied by EchelonGraph): Track at low, Track* at medium and Attend at high mission impact.
Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE.
Action: No fix is confirmed yet. Check the vendor's advisory for a fixed release; until one is applied, restrict network exposure of the affected system or apply the vendor's mitigation on your normal schedule at low or medium mission impact and sooner than that at high.
EPSS PROB
20%
EPSS %ILE
97th
KEV
Not listed

What the EG score is made of (scorer v4.0: the three questions the 0–10 score mixes, published apart · methodology)

The EG score (10.0): severity, escalated by confirmed exploitation. This CVE's 10.0 is its impact severity (EG Severity), not escalated.

EG Severity
10.0 CRITICALCVSS-B, impact only: no KEV listing, EPSS or EG-KEV tier raises it.NVD CVSS v3 · CVSS v3.0 or v3.1
EG Likelihood
20% within 30 daysSource: FIRST EPSS (model v2026.06.15, score date 2026-11-01). FIRST's exploitation probability, not an EchelonGraph model.
Confirmed exploitation
None on record (CISA KEV, EG-KEV Tier 1)Reported apart from the likelihood: an observed fact, not a probability.
EG Priority
SSVC Track* at medium mission impactTrack at low, Track* at medium and Attend at high mission impact.CISA BOD 26-04: 3 days if the affected system is publicly exposed; 60 days if it is not.No released fix is confirmed on this page, but CISA's timeline does not wait for a fix's release: it starts when an agency identifies the flaw on an asset and updates the CDM Agency and Federal Dashboard, and the directive counts patching, decommissioning the system or another action as remediation. Until a fixed release is applied, mitigate as this page's verdict says.Each input and its source, and whom BOD 26-04 binds: the SSVC and BOD 26-04 blocks below.

SSVC (CISA's decision table, applied by EchelonGraph)Track at low, Track* at medium and Attend at high mission impact.

No fix is confirmed yet. Check the vendor's advisory for a fixed release; until one is applied, restrict network exposure of the affected system or apply the vendor's mitigation on your normal schedule at low or medium mission impact and sooner than that at high.

Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE. Mission impact is CISA's Mission & Well-being decision point, and only you can judge it. CISA's table makes it high when Mission Prevalence is Essential — the vulnerable component "directly provides capabilities that constitute at least one MEF for at least one entity" (MEF: mission essential function) — or when Public Well-Being Impact is Irreversible: "multiple fatalities are likely", the cyber-physical system "is likely lost or destroyed", "extreme or serious externalities" are imposed on other parties, or social systems such as elections or the financial grid "are destabilized and potentially collapse". CISA's decision table

BOD 26-04 (CISA's remediation timeline, Table 1)3 days if the affected system is publicly exposed; 60 days if it is not.

No released fix is confirmed on this page, but CISA's timeline does not wait for a fix's release: it starts when an agency identifies the flaw on an asset and updates the CDM Agency and Federal Dashboard, and the directive counts patching, decommissioning the system or another action as remediation. Until a fixed release is applied, mitigate as this page's verdict says.

The score's inputs: In CISA KEV no (CISA's KEV catalog) · Automatable yes (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). Whether your system is publicly exposed is yours to answer. BOD 26-04 binds US Federal Civilian Executive Branch agencies; for anyone else it is CISA's published timeline, a reference rather than an obligation. The directive · how EchelonGraph applies it

Published

April 9, 2024

Last Modified

January 5, 2026

Advisory Details (10)

Auto-updated Nov 1, 2026
No fix on record yet. Sources: github.
Web page

[SECURITY] Fedora 38 Update: rust-1.77.2-1.fc38 - package-announce - Fedora mailing-lists

https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RPH3PF7DVSS2LVIRLW254VWUPVKJN46P/
Web page

[SECURITY] Fedora 40 Update: rust-1.77.2-1.fc40 - package-announce - Fedora mailing-lists

https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/N323QAEEUVTJ354BTVQ7UB6LYXUX2BCL/
GitHub advisoryMentions a patch (unverified)

`std::process::Command` did not properly escape arguments of batch files on Windows · Advisory · rust-lang/rust · GitHub

https://github.com/rust-lang/rust/security/advisories/GHSA-q455-m56c-85mh
Web page

Issues · rust-lang/rust · GitHub

https://github.com/rust-lang/rust/issues
Web page

Command in std::process - Rust

https://doc.rust-lang.org/std/process/struct.Command.html
Web page

oss-security - CVE-2024-24576: Rust 1.77.1 and earlier did not properly escape arguments of batch files on Windows

http://www.openwall.com/lists/oss-security/2024/04/09/16

Vendor Advisories for CVE-2024-24576(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 13× in last 7d / 51× in last 30d)

Each row is a time one of our pipelines fetched, updated or re-scored this CVE. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. An arrow marks a change the record states ("CVSS v3 → 9.1"); EPSS and GHSA rows show the values recorded at that time, not what changed (EPSS values are rounded; hover one for the exact figures). Most recent first.

Showing the most recent 98 of 193 refreshes on record for this CVE.

A repeat, a row identical to one the same pipeline wrote less than 10 seconds earlier, is not a separate refresh and is not counted. 2 repeat rows among the latest 100 are merged into the row they repeat. The 95 oldest rows on record are not shown and were not checked, so the counts can still include repeats.

  1. 2026-11-02 04:54 UTCEG score recompute
  2. 2026-11-01 16:31 UTCEPSS rescoreEPSS 20% · 97th percentile
  3. 2026-11-01 04:57 UTCEG score recompute
  4. 2026-10-31 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  5. 2026-10-31 04:59 UTCEG score recompute
  6. 2026-10-30 16:31 UTCEPSS rescoreEPSS 20% · 97th percentile
  7. 2026-10-30 05:02 UTCEG score recompute
  8. 2026-10-29 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  9. 2026-10-29 05:05 UTCEG score recompute
  10. 2026-10-28 16:29 UTCEPSS rescoreEPSS 20% · 97th percentile
  11. 2026-10-28 05:07 UTCEG score recompute
  12. 2026-10-27 16:29 UTCEPSS rescoreEPSS 20% · 97th percentile
  13. 2026-10-27 05:09 UTCEG score recompute
  14. 2026-10-25 17:17 UTCEG score recompute
  15. 2026-10-25 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  16. 2026-10-25 01:09 UTCEG score recompute
  17. 2026-10-24 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  18. 2026-10-24 01:12 UTCEG score recompute
  19. 2026-10-23 16:29 UTCEPSS rescoreEPSS 20% · 97th percentile
  20. 2026-10-23 01:14 UTCEG score recompute
  21. 2026-10-22 16:31 UTCEPSS rescoreEPSS 20% · 97th percentile
  22. 2026-10-22 01:15 UTCEG score recompute
  23. 2026-10-21 16:29 UTCEPSS rescoreEPSS 20% · 97th percentile
  24. 2026-10-21 01:18 UTCEG score recompute
  25. 2026-10-20 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
Show 73 more
  1. 2026-10-20 01:20 UTCEG score recompute
  2. 2026-10-19 16:29 UTCEPSS rescoreEPSS 20% · 97th percentile
  3. 2026-10-19 00:15 UTCEG score recompute
  4. 2026-10-18 07:25 UTCEG score recompute
  5. 2026-10-18 00:17 UTCEG score recompute
  6. 2026-10-17 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  7. 2026-10-17 00:17 UTCEG score recompute
  8. 2026-10-16 16:36 UTCEPSS rescoreEPSS 20% · 97th percentile
  9. 2026-10-15 23:45 UTCEG score recompute
  10. 2026-10-15 16:29 UTCEPSS rescoreEPSS 20% · 97th percentile
  11. 2026-10-14 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  12. 2026-10-14 15:23 UTCEG score recompute
  13. 2026-10-13 16:30 UTCEPSS rescoreEPSS 20% · 97th percentile
  14. 2026-10-13 14:48 UTCEG score recompute
  15. 2026-10-12 16:31 UTCEPSS rescoreEPSS 20% · 97th percentile
  16. 2026-10-12 14:51 UTCEG score recompute
  17. 2026-10-11 21:25 UTCEG score recompute
  18. 2026-10-11 16:19 UTCEG score recompute
  19. 2026-10-11 15:36 UTCOSV refresh
  20. 2026-10-11 13:45 UTCEPSS rescoreEPSS 20% · 97th percentile
  21. 2026-10-10 19:58 UTCEPSS rescoreEPSS 20% · 97th percentile
  22. 2026-10-09 20:05 UTCEPSS rescoreEPSS 20% · 97th percentile
  23. 2026-10-08 17:07 UTCEPSS rescoreEPSS 20% · 97th percentile
  24. 2026-10-07 23:46 UTCEPSS rescoreEPSS 20% · 97th percentile
  25. 2026-10-06 15:15 UTCEPSS rescoreEPSS 20% · 97th percentile
  26. 2026-10-05 17:41 UTCEPSS rescoreEPSS 20% · 97th percentile
  27. 2026-10-03 14:23 UTCEPSS rescoreEPSS 20% · 97th percentile
  28. 2026-10-01 19:48 UTCEPSS rescoreEPSS 20% · 97th percentile
  29. 2026-09-30 16:58 UTCEG score recompute
  30. 2026-09-30 15:01 UTCEPSS rescoreEPSS 20% · 97th percentile
  31. 2026-09-29 15:17 UTCEPSS rescoreEPSS 20% · 97th percentile
  32. 2026-09-24 14:01 UTCEPSS rescoreEPSS 20% · 97th percentile
  33. 2026-09-23 13:46 UTCEPSS rescoreEPSS 20% · 97th percentile
  34. 2026-09-22 03:15 UTCOSV refresh
  35. 2026-09-16 14:06 UTCEPSS rescoreEPSS 20% · 97th percentile
  36. 2026-09-16 05:11 UTCEPSS rescoreEPSS 20% · 97th percentile
  37. 2026-09-15 03:08 UTCEPSS rescoreEPSS 20% · 97th percentile
  38. 2026-09-12 14:59 UTCEPSS rescoreEPSS 20% · 97th percentile
  39. 2026-09-11 14:51 UTCEPSS rescoreEPSS 20% · 97th percentile
  40. 2026-09-11 09:34 UTCEPSS rescoreEPSS 20% · 97th percentile
  41. 2026-09-08 21:58 UTCEPSS rescoreEPSS 20% · 97th percentile
  42. 2026-09-07 15:59 UTCEPSS rescoreEPSS 20% · 97th percentile
  43. 2026-09-06 13:46 UTCEPSS rescoreEPSS 20% · 97th percentile
  44. 2026-09-05 15:26 UTCEPSS rescoreEPSS 20% · 97th percentile
  45. 2026-09-04 13:58 UTCEPSS rescoreEPSS 20% · 97th percentile
  46. 2026-09-04 05:05 UTCEPSS rescoreEPSS 20% · 97th percentile
  47. 2026-09-03 00:29 UTCOSV refresh
  48. 2026-09-02 14:10 UTCEPSS rescoreEPSS 20% · 97th percentile
  49. 2026-09-01 13:52 UTCEPSS rescoreEPSS 20% · 97th percentile
  50. 2026-08-30 19:15 UTCEPSS rescoreEPSS 20% · 97th percentile
  51. 2026-08-30 01:20 UTCEPSS rescoreEPSS 20% · 97th percentile
  52. 2026-08-28 21:39 UTCEPSS rescoreEPSS 20% · 97th percentile
  53. 2026-08-27 14:23 UTCEPSS rescoreEPSS 20% · 97th percentile
  54. 2026-08-26 14:44 UTCEPSS rescoreEPSS 20% · 97th percentile
  55. 2026-08-25 13:47 UTCEPSS rescoreEPSS 20% · 97th percentile
  56. 2026-08-23 00:17 UTCEPSS rescoreEPSS 20% · 97th percentile
  57. 2026-08-21 23:47 UTCEPSS rescoreEPSS 20% · 97th percentile
  58. 2026-08-20 22:53 UTCEPSS rescoreEPSS 20% · 97th percentile
  59. 2026-08-19 17:02 UTCEPSS rescoreEPSS 20% · 97th percentile
  60. 2026-08-18 13:46 UTCEPSS rescoreEPSS 20% · 97th percentile
  61. 2026-08-16 14:54 UTCEPSS rescoreEPSS 20% · 97th percentile
  62. 2026-08-16 12:30 UTCOSV refresh
  63. 2026-08-16 02:12 UTCEPSS rescoreEPSS 20% · 97th percentile
  64. 2026-08-15 01:28 UTCEPSS rescoreEPSS 20% · 97th percentile
  65. 2026-08-13 21:58 UTCEPSS rescoreEPSS 20% · 97th percentile
  66. 2026-08-12 13:49 UTCEPSS rescoreEPSS 20% · 97th percentile
  67. 2026-08-11 13:40 UTCEPSS rescoreEPSS 20% · 97th percentile
  68. 2026-08-08 16:35 UTCEPSS rescoreEPSS 20% · 97th percentile
  69. 2026-08-06 13:45 UTCEPSS rescoreEPSS 20% · 97th percentile
  70. 2026-08-05 19:15 UTCEPSS rescoreEPSS 20% · 97th percentile
  71. 2026-08-04 15:08 UTCEPSS rescoreEPSS 20% · 97th percentile
  72. 2026-08-04 10:36 UTCEPSS rescoreEPSS 20% · 97th percentile
  73. 2026-08-03 10:34 UTCEPSS rescoreEPSS 20% · 97th percentile

Publicly available exploits

(4 references)

Public exploit code is referenced for this CVE (4 GitHub PoCs). No fix is confirmed yet, so defenders should restrict or isolate affected systems accordingly until one is published.

  • GitHub PoClpn/CVE-2024-24576.jl
    Published Apr 14, 2024

    Simple CVE-2024-24576 PoC in Julia

    Open source ↗
  • GitHub PoCaydinnyunus/CVE-2024-24576-Exploit
    Published Apr 10, 2024

    CVE-2024-24576 Proof of Concept

    Open source ↗
  • GitHub PoCbrains93/CVE-2024-24576-PoC-Python
    Published Apr 10, 2024
    Open source ↗
  • GitHub PoCfrostb1ten/CVE-2024-24576-PoC
    Published Apr 9, 2024

    Example of CVE-2024-24576 use case.

    Open source ↗

Frequently asked(5)

What is CVE-2024-24576?
CVE-2024-24576 is a critical-severity vulnerability; its CVE record was published on April 9, 2024. Rust is a programming language. The Rust Security Response WG was notified that the Rust standard library prior to version 1.77.2 did not properly escape arguments when invoking batch files (with the bat and cmd extensions) on Windows using the Command. An attacker able to control the arguments…
When was the CVE record for CVE-2024-24576 published?
The CVE record for CVE-2024-24576 was published on April 9, 2024. That is the record's publication date; the vulnerability itself may have been made public earlier. EchelonGraph's copy of the record carries a last-modified date of January 5, 2026; the record at its source may have been updated since.
Is CVE-2024-24576 actively exploited?
CVE-2024-24576 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 20% probability of exploitation in the next 30 days (97th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2024-24576?
CVE-2024-24576 has a CVSS v3 base score of 10.0 (NVD).
How do I remediate CVE-2024-24576?
No fix for CVE-2024-24576 is confirmed yet. Until one is published, restrict network exposure of the affected system or apply the vendor's mitigation — for example, keep it off the internet or limit it to trusted networks — and watch the vendor's advisory for the fix. CISA-ADP, in the CVE record, lists rust-lang rust versions before 1.77.2 as affected. No release containing a fix is confirmed on record. The vendor advisories EchelonGraph has for CVE-2024-24576 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2024-24576

Explore →

Is Your Infrastructure Affected by CVE-2024-24576?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.