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.
Published: 2026-08-12
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in Shescape’s escape logic on Unix systems running the Dash shell: the library fails to escape the tilde (~) character when it follows a colon or equals sign during assignment construction. An attacker who can supply arbitrary input to the escape or escapeAll APIs can use a payload such as ":~" to cause the tilde to be interpreted as the user’s home directory. This results in the disclosure of the absolute home‑directory path, which may also redirect the command to run in a location chosen by the attacker. The weakness is a classic data transformation error (CWE‑116) combined with an information‑exposure flaw (CWE‑200).

Affected Systems

The affected product is Shescape, a shell escape library for JavaScript, maintained by ericcornelissen. Versions earlier than 2.1.14 and earlier than 3.0.1 are vulnerable. All consumers of the library that invoke the escape or escapeAll functions on Unix platforms with Dash enabled (either explicitly or by default) are at risk; the issue does not appear in shells other than Dash or in later releases.

Risk and Exploitability

The CVSS score of 6.3 reflects moderate impact. The EPSS score is not available, and the vulnerability is not listed in CISA’s KEV catalog, indicating no known large‑scale exploitation yet. Exploitation requires the attacker to be able to supply input to the escaping functions, which can be possible in any scenario where user data is passed without validation. The attack vector is a local or remote code path that controls untrusted input, and the outcome is direct disclosure of the user’s home directory, with the potential to redirect command execution to a location of the attacker’s choice.

Generated by OpenCVE AI on August 12, 2026 at 23:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Shescape to version 2.1.14 or later, or to 3.0.1 or higher.
  • Replace legacy code paths that use the old escape or escapeAll APIs with updated functions that perform correct tilde escaping.
  • If immediate upgrade is not possible, sanitize input before passing it to the escape functions to ensure that any occurrences of ":~" are safely transformed or rejected.

Generated by OpenCVE AI on August 12, 2026 at 23:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q53c-4prm-w95q Shescape: Home-directory disclosure in assignment context on Unix with Dash
History

Wed, 12 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 12 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Ericcornelissen
Ericcornelissen shescape
Vendors & Products Ericcornelissen
Ericcornelissen shescape

Wed, 12 Aug 2026 19:45:00 +0000

Type Values Removed Values Added
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.
Title Shescape: Home-directory disclosure in assignment context on Unix with Dash
Weaknesses CWE-116
CWE-200
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Ericcornelissen Shescape
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-12T20:54:38.353Z

Reserved: 2026-08-12T14:32:11.795Z

Link: CVE-2026-73411

cve-icon Vulnrichment

Updated: 2026-08-12T20:36:16.536Z

cve-icon NVD

Status : Received

Published: 2026-08-12T20:17:56.053

Modified: 2026-08-12T21:17:40.647

Link: CVE-2026-73411

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-12T23:45:03Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output

  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor