PatchSiren cyber security CVE debrief
CVE-2026-9277 ljharb CVE debrief
CVE-2026-9277 is a critical vulnerability in the shell-quote package, which did not properly validate object-token inputs against the operator model used by `parse()`. This could allow an attacker to inject malicious commands by including a line terminator in the `.op` field. The vulnerability has a CVSS score of 9.2 and is considered critical. Defenders who use the shell-quote package in their applications, especially in environments where user input is used to construct commands, should be aware of this vulnerability and take steps to mitigate it. The vulnerable code path is reachable in two ways: direct construction of `{ op: '...<newline>...' }` from external input, and via `pa
- Vendor
- ljharb
- Product
- shell-quote
- CVSS
- CRITICAL 9.2
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-22
- Original CVE updated
- 2026-09-14
- Advisory published
- 2026-05-22
- Advisory updated
- 2026-09-14
Who should care
Defenders who use the shell-quote package in their applications, especially in environments where user input is used to construct commands, should be aware of this vulnerability and take steps to mitigate it.
Why it matters
CVE-2026-9277 is a critical vulnerability in the shell-quote package that allows command injection due to lack of input validation. Defenders should prioritize patching or mitigating this vulnerability, especially in environments where user input is used to construct commands.
- Command injection is possible due to lack of input validation
- Attackers may be able to execute arbitrary commands
- Defenders need to verify if their applications are using the vulnerable package and patch or mitigate accordingly
- Remediation priority is high due to the critical CVSS score
Technical summary
The `quote()` function in the shell-quote package did not properly validate object-token inputs against the operator model used by `parse()`, allowing an attacker to inject malicious commands by including a line terminator in the `.op` field. The vulnerability is caused by the lack of validation against the operator model used by `parse()`, and can be exploited by including a line terminator in the `.op` field. 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 `Ty
Defensive priority
Defenders should prioritize patching or mitigating this vulnerability as soon as possible, especially in environments where the shell-quote package is used to construct commands from untrusted input.
Recommended defensive actions
- Patch or upgrade to a fixed version of the shell-quote package
- Review and validate user input to prevent injection of malicious commands
- Implement additional security controls to detect and prevent exploitation
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
Evidence notes
The vulnerability is caused by the `quote()` function not validating object-token inputs against the operator model used by `parse()`. This allows an attacker to inject malicious commands by including a line terminator in the `.op` field.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-9277 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-9277
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-9277 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-9277
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/ljharb/shell-quote
7ffcee3d-2c14-4c3e-b844-86c6a321a158
-
Source reference
Unverified legacy reference
URL: https://github.com/ljharb/shell-quote/commit/1518179
7ffcee3d-2c14-4c3e-b844-86c6a321a158
-
Source reference
Unverified legacy reference
URL: https://github.com/ljharb/shell-quote/security/advisories/GHSA-w7jw-789q-3m8p
7ffcee3d-2c14-4c3e-b844-86c6a321a158
-
Source reference
Unverified legacy reference
URL: https://www.npmjs.com/package/shell-quote
7ffcee3d-2c14-4c3e-b844-86c6a321a158
-
Source reference
Unverified legacy reference
URL: https://access.redhat.com/errata/RHSA-2026:26072
0b0ca135-0b70-47e7-9f44-1890c2a1c46c
-
Source reference
Unverified legacy reference
URL: https://access.redhat.com/errata/RHSA-2026:26077
0b0ca135-0b70-47e7-9f44-1890c2a1c46c
-
Source reference
Unverified legacy reference
URL: https://access.redhat.com/errata/RHSA-2026:26079
0b0ca135-0b70-47e7-9f44-1890c2a1c46c
-
Source reference
Unverified legacy reference
URL: https://access.redhat.com/errata/RHSA-2026:26080
0b0ca135-0b70-47e7-9f44-1890c2a1c46c
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.