CVE-2024-27936 json
Deno interactive permission prompt spoofing via improper ANSI stripping
published 2024-03-05 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-0957 , GHSA-m4pq-fv2w-6hrw , JLSEC-2026-105
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 61%
- public exploits
- 0
- none known
Summary
Deno is a JavaScript, TypeScript, and WebAssembly runtime with secure defaults. Starting in version 1.32.1 and prior to version 1.41.0 of the deno library, maliciously crafted permission request can show the spoofed permission prompt by inserting a broken ANSI escape sequence into the request contents. Deno is stripping any ANSI escape sequences from the permission prompt, but permissions given to the program are based on the contents that contain the ANSI escape sequences. Any Deno program can spoof the content of the interactive permission prompt by inserting a broken ANSI code, which allows a malicious Deno program to display the wrong file path or program name to the user. Version 1.41.0 of the deno library contains a patch for the issue.
Patch / fix
- crates.io deno 1.41.0
- crates.io deno_runtime 0.147.0
- julia Deno_jll 2.0.0+0
- deno deno 1.41.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.94% chance of exploitation in the next 30 days, higher than 61% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/denoland/deno/security/advisories/GHSA-m4pq-fv2w-6hrw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
| OSV | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | deno | >=1.32.1, <1.41.0 |
1.41.0 |
| crates.io | deno_runtime | >=0.103.0, <0.147.0 |
0.147.0 |
| julia | Deno_jll | >=1.33.4+0, <2.0.0+0 |
2.0.0+0 |
Affected products
- denoland deno
- deno deno
Classification
- Weakness
-
- CWE-150 Improper Neutralization of Escape, Meta, or Control Sequences
References
-
github.com
/denoland/deno/commit/78d430103a8f6931154ddbbe19d36f3b8630286d
web, patch
-
github.com
/denoland/deno/commit/7e6b94231290020b55f1d08fb03ea8132781abc5
web, patch
-
github.com
/denoland/deno/security/advisories/GHSA-m4pq-fv2w-6hrw
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-27936
advisory, web
-
github.com
/denoland/deno
package
-
github.com
/advisories/GHSA-m4pq-fv2w-6hrw
web
Sources
- CVE List CVE-2024-27936
- GitHub Advisory GHSA-m4pq-fv2w-6hrw
- NVD CVE-2024-27936
- OSV JLSEC-2026-105
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.