Security Resilience

CVE-2023-40185

Shescape Project Shescape ≤ 1.7.4

Public PoC
Published
23 August 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 6.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L
EPSS Score 0.0067 51th percentile
Risk Priority 49 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-40185 is a medium-severity Improper Neutralization of Escape, Meta, or Control Sequences (CWE-150) vulnerability in Shescape Project Shescape. Its CVSS base score is 6.5 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Junk Data (T1001.001); ranked in the top 49% 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

shescape is simple shell escape library for JavaScript. This may impact users that use Shescape on Windows in a threaded context. The vulnerability can result in Shescape escaping (or quoting) for the wrong shell, thus allowing attackers to bypass protections…

more

depending on the combination of expected and used shell. This bug has been patched in version 1.7.4.

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-36052Same product: Microsoft Windows
CVE-2026-26149Same vendor: Microsoft
CVE-2026-21521Same vendor: Microsoft
CVE-2024-43785Shared CWE-150
CVE-2024-58251Shared CWE-150
CVE-2023-3265Shared CWE-150
CVE-2023-26055Shared CWE-150
CVE-2026-39879Shared CWE-150
CVE-2024-28085Shared CWE-150
CVE-2026-41526Shared CWE-150

Affected Assets

shescape project
shescape
≤ 1.7.4

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