NewIntroducing ISO360 — our all-in-one ISO compliance platform
All advisories
CVE-2026-9277HIGH · CVSS 8.1

CVE-2026-9277

What's the vulnerability?

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`.

Recommended remediation

  1. Inventory all assets running the affected vendor and product, including shadow IT and third-party hosted instances.
  2. Apply the vendor patch or mitigation referenced in the advisories below. Where no patch exists, isolate the asset or restrict network exposure.
  3. Hunt for indicators of prior compromise — exploitation of this class of bug often predates public disclosure.
  4. Deploy detections for the exploit primitives (network signature, EDR rule, WAF rule) and re-test after remediation.

Need help executing these steps? Our team typically completes validation and remediation within a single patch cycle. Request remediation support →

Vendor & research references