Security Resilience

CVE-2023-28446

Deno ≤ 1.31.2

Public PoC
Published
24 March 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS Score 0.011 66th percentile
Risk Priority 67 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2023-28446 is a high-severity Improper Neutralization of Escape, Meta, or Control Sequences (CWE-150) vulnerability in Deno Deno. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Junk Data (T1001.001); ranked in the top 34% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

EU & UK References

Vulnerability Data

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. Arbitrary program names without any ANSI filtering allows any malicious program to clear the first 2 lines of a `op_spawn_child`…

more

or `op_kill` prompt and replace it with any desired text. This works with any command on the respective platform, giving the program the full ability to choose what program they wanted to run. This problem can not be exploited on systems that do not attach an interactive prompt (for example headless servers). This issue has been patched in version 1.31.2.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1001.001 Junk Data Command And Control
Adversaries may add junk data to protocols used for command and control to make detection more difficult.
T1003.001 LSASS Memory Credential Access
Adversaries may attempt to access credential material stored in the process memory of the Local Security Authority Subsystem Service (LSASS).
T1003.005 Cached Domain Credentials Credential Access
Adversaries may attempt to access cached domain credentials used to allow authentication to occur in the event a domain controller is unavailable.
T1003.006 DCSync Credential Access
Adversaries may attempt to access credentials and other sensitive information by abusing a Windows Domain Controller's application programming interface (API)(Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citati…
T1003.007 Proc Filesystem Credential Access
Adversaries may gather credentials from the proc filesystem or `/proc`.
T1003.008 /etc/passwd and /etc/shadow Credential Access
Adversaries may attempt to dump the contents of <code>/etc/passwd</code> and <code>/etc/shadow</code> to enable offline password cracking.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-27936Same product: Deno Deno
CVE-2025-48935Same product: Deno Deno
CVE-2026-49406Same product: Deno Deno
CVE-2026-49411Same product: Deno Deno
CVE-2026-22864Same product: Deno Deno
CVE-2026-49440Same product: Deno Deno
CVE-2026-27190Same product: Deno Deno
CVE-2024-27935Same product: Deno Deno
CVE-2025-61786Same product: Deno Deno
CVE-2026-49860Same product: Deno Deno

Affected Assets

deno
deno
≤ 1.31.2

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V1.2.10
  • V1.3.12

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 partial match
blocks

Secure SDLC practices directly require input neutralization and escaping to prevent this class of flaw.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

A.8.25 mandates secure SDLC practices including secure coding guidelines, security requirements, checkpoints, testing (scans/penetration), and developer training that reach escape/sequence neutralization; this prevents exploitation for many instances but leaves a bounded remainder where implementation is incomplete or the specific sequences are missed.

blocks

A.8.26 requires identifying and specifying requirements including resilience against SQL injections, input validation, and output controls (items d, j, l, m, n), which when addressed stop exploitation of unneutralized escape sequences; this covers only a minority slice of CWE-150's broader meta/control sequences and downstream contexts, with the bulk left to implementation details in other controls.

blocks

A.8.27 mandates security-by-design principles including data validation/sanitization, distrusting external input, and design reviews against attack patterns, which reaches a minority slice of improper neutralization (e.g. via secure architecture and hardening) but leaves most instances of missing or incorrect escaping in downstream components unaddressed.

prevents

Secure coding standards require proper escaping and neutralization of control characters before downstream processing.

References