CVE-2026-73411
Received Received - Intake

Path Traversal in Shescape JavaScript Library

Vulnerability report for CVE-2026-73411, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-12

Last updated on: 2026-08-12

Assigner: GitHub, Inc.

Description

Shescape is a simple shell escape library for JavaScript. Prior to 2.1.14 and 3.0.1, getEscapeFunction in src/internal/unix/dash.js fails to escape ~ after : or = when applications use the escape or escapeAll APIs on Unix with shell set to dash, or with shell set to true when Dash is the default, and interpolate the result into an assignment prefixed to a command. An attacker who controls the input can supply a value such as :~ to disclose the home-directory path and may change the location on which the command operates. This issue is fixed in versions 2.1.14 and 3.0.1.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-12
Last Modified
2026-08-12
Generated
2026-09-02
AI Q&A
2026-08-13
EPSS Evaluated
2026-09-01
NVD

Affected Vendors & Products

Showing 4 associated CPEs
Vendor Product Version / Range
shescape shescape to 2.1.14 (inc)
shescape shescape to 3.0.1 (inc)
ericcornelissen shescape to 2.1.14 (inc)
ericcornelissen shescape to 3.0.1 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-200 The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
CWE-116 The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the Shescape library, which is used for escaping shell commands in JavaScript. The issue is in the getEscapeFunction in src/internal/unix/dash.js where the tilde character (~) is not properly escaped after a colon (:) or equals sign (=) when using the escape or escapeAll APIs on Unix systems with Dash as the shell. An attacker can exploit this by providing input like :~ to reveal the user's home directory path or alter command operations.

Detection Guidance

To detect this vulnerability, check if your system uses Shescape versions before 2.1.14 or 3.0.1. Inspect Node.js applications using Shescape for improper escaping in assignments with Dash shell. Look for paths containing ~ in untrusted inputs.

Impact Analysis

An attacker who controls input to the Shescape library could exploit this to disclose your home directory path or manipulate commands to operate on unintended locations. This could lead to unauthorized access to sensitive data or unexpected behavior in applications using Shescape for shell command escaping.

Compliance Impact

This vulnerability could lead to exposure of sensitive information such as home directory paths, which may violate data protection regulations like GDPR or HIPAA if personal or confidential data is disclosed. Compliance could be impacted if the vulnerability results in unauthorized access to protected health information or personal data.

Mitigation Strategies
  • Upgrade Shescape to version 2.1.14 or 3.0.1 or later.
  • Avoid using Dash as the shell in applications.
  • Use the env option in node:child_process for untrusted variables.
  • Sanitize inputs by removing ~ characters from untrusted data.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-73411. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart