[From nobody Sat May 23 10:51:07 2026
Received: (at submit) by bugs.debian.org; 23 May 2026 07:21:36 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-9.9 required=4.0 tests=BAYES_00, FOURLA,
 FROMDEVELOPER, 
 NO_RELAYS,XMAILER_REPORTBUG autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 23; hammy, 150; neutral, 78; spammy,
 0. spammytokens: hammytokens:0.000-+--H*F:U*carnil,
 0.000-+--XDebbugsCc, 0.000-+--X-Debbugs-Cc, 0.000-+--HTo:N*Debian,
 0.000-+--H*Ad:N*Bug
Return-path: &lt;carnil@debian.org&gt;
Received: via submission by buxtehude.debian.org with esmtp (Exim 4.96)
 (envelope-from &lt;carnil@debian.org&gt;) id 1wQgfv-00HZXg-0E
 for submit@bugs.debian.org; Sat, 23 May 2026 07:21:36 +0000
Content-Type: text/plain; charset=&quot;us-ascii&quot;
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Salvatore Bonaccorso &lt;carnil@debian.org&gt;
To: Debian Bug Tracking System &lt;submit@bugs.debian.org&gt;
Subject: node-shell-quote: CVE-2026-9277
Message-ID: &lt;177952089289.1137545.9961551426930000888.reportbug@eldamar.lan&gt;
X-Mailer: reportbug 13.2.0
Date: Sat, 23 May 2026 09:21:32 +0200
Delivered-To: submit@bugs.debian.org

Source: node-shell-quote
Version: 1.8.3+~1.7.5-1
Severity: grave
Tags: security upstream
X-Debbugs-Cc: carnil@debian.org, Debian Security Team &lt;team@security.debian.org&gt;

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 &amp; 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
]