CVE-2026-9277
Last modified
CVE-2026-9277 is a high-severity vulnerability rated 8.1/10 on the CVSS scale. 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). EPSS estimates a 0.85% chance of exploitation in the next 30 days.
Description
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`.
Metrics
Weakness Enumeration
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-9277?
How severe is CVE-2026-9277?
How do I fix CVE-2026-9277?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-92761WebVirtCloud fails to properly validate permission flags in …8.8
- CVE-2026-92762Pelican Panel versions before 1.0.0-beta35 enforce startup w…8.8
- CVE-2026-92763Rundeck through 6.2.1 fails to properly authorize the import…8.1
- CVE-2026-92764OpenCVE versions 2.4.0 before 3.1.0 fails to properly scope …4.3
- CVE-2026-92765ArcherySec through 2.0.6 fails to validate organization owne…6.5
- CVE-2026-92768A flaw was found in cockpit-machines. This vulnerability all…5.5
- CVE-2026-92770Harbor through 2.15.2 fails to properly restrict the q query…6.5
- CVE-2026-92771Twenty before 2.35.0 fails to validate field and row permiss…6.5
- CVE-2026-92772Leantime before 3.9.6 contains an authorization bypass vulne…7.1
- CVE-2026-92773Trigger.dev before 4.6.0 fails to verify that an authenticat…7.1
- CVE-2026-92774Wiki.js through 2.5.314 omits page tags from authorization c…4.3
- CVE-2026-92775Wiki.js through 2.5.314 contains a server-side request forge…6.5
Are you affected by CVE-2026-9277?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
