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.
CVE-2026-9277
This high-severity CVE scores 8.1 under NVD CVSS v3. EPSS exploit probability: 0.6%, top 55% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
A fix is available — apply it.
- CVSS v3
- 8.1
- EG Score
- 8.1(medium)
- EPSS
- 53.9%
- KEV
- Not listed
Published
May 22, 2026
Last Modified
July 15, 2026
Advisory Details (3)
Auto-updated Jun 3, 2026shell-quote quote() does not escape newlines in object .op values · Advisory · ljharb/shell-quote · GitHub
https://github.com/ljharb/shell-quote/security/advisories/GHSA-w7jw-789q-3m8poss-security - CVE-2026-9277: shell-quote before 1.8.4 command injection in quote()
http://www.openwall.com/lists/oss-security/2026/05/23/2Vendor Advisories for CVE-2026-9277(19)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
- RHSA-2026:36754Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat Developer Hub 1.10.2 release.
- RHSA-2026:34791Red Hat Product SecurityHigh
Red Hat Security Advisory: OpenShift Container Platform 4.20.28 bug fix and security update
- RHSA-2026:34342Red Hat Product SecurityCritical
Red Hat Security Advisory: Cluster Observability Operator 1.5.0
- RHSA-2026:33683Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat Quay 3.10.23
- RHSA-2026:29795Red Hat Product SecurityHigh
Red Hat Security Advisory: OpenShift Container Platform 4.22.3 bug fix and security update
- RHSA-2026:33574Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat Developer Hub 1.9.6 release.
- RHSA-2026:29834Red Hat Product SecurityHigh
Red Hat Security Advisory: OpenShift Container Platform 4.21.22 bug fix and security update
- RHSA-2026:30076Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat Quay 3.12.19
- +11 more
Patch Availability(12)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | node-shell-quote (1.7.4+~1.7.1-1ubuntu0.25.10.1) @ questing | 2026-06-29 | ubuntu |
| redhat | quay/quay-rhel8:1781937357 | 2026-06-25 | redhat |
| redhat | discovery/discovery-ui-rhel9:1782166952 | 2026-06-24 | redhat |
| redhat | quay/quay-rhel8:1781878070 | 2026-06-23 | redhat |
| redhat | cryostat/cryostat-openshift-console-plugin-rhel9:4.2.0-10 | 2026-06-22 | redhat |
| redhat | satellite/iop-vulnerability-frontend-rhel9:1781032495 | 2026-06-16 | redhat |
| redhat | rhdh/rhdh-hub-rhel9:1781187342 | 2026-06-16 | redhat |
| redhat | openshift-service-mesh/kiali-rhel9:1780916478 | 2026-06-15 | redhat |
| redhat | openshift-service-mesh/kiali-rhel9:1780916345 | 2026-06-15 | redhat |
| redhat | openshift-service-mesh/kiali-rhel8:1780916536 | 2026-06-15 | redhat |
| redhat | openshift-service-mesh/kiali-rhel9:1780916392 | 2026-06-15 | redhat |
| redhat | openshift-service-mesh/kiali-rhel9:1780997438 | 2026-06-15 | redhat |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(1 across 1 ecosystem)
npm(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| shell-quote | — | 1.8.4 | — |
Weakness Classification(2)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Additional Vendor Advisories
(1)
Vendors that published advisories for this CVE beyond the curated set above. Broader coverage but minimal per-row detail — click through for the original advisory.
Data Freshness Timeline
(refreshed 7× in last 7d / 50× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 115 total refreshes for this CVE.
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 02:00 UTCEPSS rescore
- 2026-07-13 22:31 UTCEPSS rescore
- 2026-07-13 06:13 UTCEPSS rescore
- 2026-07-12 05:46 UTCEPSS rescore
- 2026-07-11 08:27 UTCEPSS rescore
- 2026-07-09 19:10 UTCEPSS rescore
- 2026-07-08 15:16 UTCEPSS rescore
- 2026-07-07 13:46 UTCEPSS rescore
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-05 02:31 UTCEPSS rescore
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-01 15:07 UTCEPSS rescore
- 2026-06-30 23:22 UTCEPSS rescore
- 2026-06-29 16:38 UTCEG score recompute
- 2026-06-29 16:38 UTCVendor advisory
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-28 14:07 UTCEPSS rescore
- 2026-06-28 07:49 UTCEG score recompute
- 2026-06-28 07:49 UTCVendor advisory
- 2026-06-28 04:56 UTCEPSS rescore
- 2026-06-27 19:32 UTCEG score recompute
- 2026-06-27 19:32 UTCVendor advisory
Show 75 moreShow fewer
- 2026-06-27 07:22 UTCEG score recompute
- 2026-06-27 07:22 UTCVendor advisory
- 2026-06-27 03:08 UTCEPSS rescore
- 2026-06-26 19:13 UTCEG score recompute
- 2026-06-26 19:13 UTCVendor advisory
- 2026-06-26 03:18 UTCEG score recompute
- 2026-06-26 03:18 UTCVendor advisory
- 2026-06-25 13:57 UTCEG score recompute
- 2026-06-25 13:57 UTCVendor advisory
- 2026-06-25 13:50 UTCEPSS rescore
- 2026-06-24 14:05 UTCEPSS rescore
- 2026-06-23 21:33 UTCEPSS rescore
- 2026-06-22 14:25 UTCEPSS rescore
- 2026-06-21 14:56 UTCEPSS rescore
- 2026-06-21 01:59 UTCEPSS rescore
- 2026-06-19 19:26 UTCEPSS rescore
- 2026-06-18 17:52 UTCEPSS rescore
- 2026-06-17 23:10 UTCEG score recompute
- 2026-06-17 23:10 UTCVendor advisory
- 2026-06-17 17:53 UTCEPSS rescore
- 2026-06-17 10:57 UTCEG score recompute
- 2026-06-17 10:57 UTCVendor advisory
- 2026-06-16 19:24 UTCEG score recompute
- 2026-06-16 19:24 UTCVendor advisory
- 2026-06-16 17:53 UTCEPSS rescore
- 2026-06-16 03:04 UTCEG score recompute
- 2026-06-16 03:04 UTCVendor advisory
- 2026-06-15 17:49 UTCEPSS rescore
- 2026-06-15 17:49 UTCEPSS rescore
- 2026-06-15 14:54 UTCEG score recompute
- 2026-06-15 14:54 UTCVendor advisory
- 2026-06-14 23:18 UTCEPSS rescore
- 2026-06-14 22:15 UTCEG score recompute
- 2026-06-14 22:15 UTCVendor advisory
- 2026-06-14 10:05 UTCEG score recompute
- 2026-06-14 10:05 UTCVendor advisory
- 2026-06-13 23:00 UTCEPSS rescore
- 2026-06-13 21:53 UTCEG score recompute
- 2026-06-13 21:53 UTCVendor advisory
- 2026-06-13 08:49 UTCEG score recompute
- 2026-06-13 08:49 UTCVendor advisory
- 2026-06-12 23:12 UTCEPSS rescore
- 2026-06-12 23:12 UTCEPSS rescore
- 2026-06-12 20:38 UTCEG score recompute
- 2026-06-12 20:38 UTCVendor advisory
- 2026-06-12 08:26 UTCEG score recompute
- 2026-06-12 08:26 UTCVendor advisory
- 2026-06-11 20:17 UTCEG score recompute
- 2026-06-11 20:17 UTCVendor advisory
- 2026-06-11 14:00 UTCEPSS rescore
- 2026-06-11 08:08 UTCEG score recompute
- 2026-06-10 22:19 UTCEPSS rescore
- 2026-06-10 19:58 UTCEG score recompute
- 2026-06-10 13:22 UTCEPSS rescore
- 2026-06-10 07:48 UTCEG score recompute
- 2026-06-09 19:39 UTCEG score recompute
- 2026-06-09 07:29 UTCEG score recompute
- 2026-06-08 19:19 UTCEG score recompute
- 2026-06-08 14:17 UTCEPSS rescore
- 2026-06-08 04:51 UTCEG score recompute
- 2026-06-07 16:42 UTCEG score recompute
- 2026-06-07 15:25 UTCEPSS rescore
- 2026-06-07 04:32 UTCEG score recompute
- 2026-06-07 04:32 UTCEG score recompute
- 2026-06-06 16:22 UTCEG score recompute
- 2026-06-06 13:47 UTCEPSS rescore
- 2026-06-06 04:12 UTCEG score recompute
- 2026-06-05 22:47 UTCEPSS rescore
- 2026-06-05 16:02 UTCEG score recompute
- 2026-06-05 06:10 UTCEPSS rescore
- 2026-06-05 03:52 UTCEG score recompute
- 2026-06-04 15:42 UTCEG score recompute
- 2026-06-04 13:12 UTCEPSS rescore
- 2026-06-04 03:31 UTCEG score recompute
- 2026-06-03 15:21 UTCEG score recompute
Publicly available exploits
(1 reference)Working exploit code is in the public domain (1 GitHub PoC). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Open source ↗GitHub PoCDylanZahedi/CVE-2026-9277First seen Jun 15, 2026
Related CVEs(same vendor + same CWE)
Same vendor
10 shownredhat
Same CWE
10 shownCWE-78 · CWE-77
- CVE-2009-20011EG 10.0CRITICAL
- CVE-2011-10017EG 10.0CRITICAL
- CVE-2011-10026EG 9.8CRITICAL
- CVE-2011-2195EG 9.8CRITICAL
- CVE-2011-2523EG 9.8EPSS 100%CRITICAL
- CVE-2010-5330EG 9.8 KEVEPSS 98%CRITICAL
- CVE-2009-5156EG 9.8EPSS 95%CRITICAL
- CVE-2007-3010EG 9.8 KEVEPSS 100%CRITICAL
- CVE-2005-2773EG 9.8 KEVEPSS 99%CRITICAL
- CVE-1999-0043EG 9.8EPSS 99%CRITICAL
Frequently asked(5)
What is CVE-2026-9277?
When was CVE-2026-9277 disclosed?
Is CVE-2026-9277 actively exploited?
What is the CVSS score of CVE-2026-9277?
How do I remediate CVE-2026-9277?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-9277
Is Your Infrastructure Affected by CVE-2026-9277?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.