Source: node-shell-quote
Version: 1.8.3+~1.7.5-1
Severity: grave
Tags: security upstream
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerability was published for node-shell-quote.

CVE-2026-9277[0]:
| shell-quote's `quote()` function did not validate object-token
| inputs against the operator model used by `parse()`. The `.op` field
| was backslash-escaped character by character using `/(.)/g`, which
| in JavaScript does not match line terminators (\n, \r, U+2028,
| U+2029). A line terminator in `.op` therefore passed through
| unescaped into the output; POSIX shells treat a literal newline as a
| command separator, so any content after it would execute as a second
| command. The vulnerable code path is reachable in two ways: (1)
| direct construction of `{ op: '...\n...' }` from external input, and
| (2) via `parse(cmd, envFn)` when `envFn` returns object tokens whose
| `.op` is attacker-influenced. Both are documented API surface. Fixed
| by replacing the per-character escape with strict shape validation:
| `.op` must match the parser's control-operator allowlist; `{ op:
| 'glob', pattern }` validates `pattern` and forbids line terminators;
| `{ comment }` validates `comment` and forbids line terminators; any
| other object shape throws `TypeError`.


If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-9277
    https://www.cve.org/CVERecord?id=CVE-2026-9277
[1] 
https://github.com/ljharb/shell-quote/security/advisories/GHSA-w7jw-789q-3m8p

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

Reply via email to