CVE-2026-9277

HighCVSS 8.1/10Last modified Sep 14, 2026

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

CVSS 3.1 8.1/10CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Weakness enumeration

Affected software

VendorProductVersions
—shell-quote>= 1.1.0, < 1.8.4
Red HatCryostat 4 on RHEL 9—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatCluster Observability Operator 1.5.0—
Red HatRed Hat Ansible Automation Platform 2.1—
Red HatRed Hat Developer Hub 1.10—
Red HatRed Hat Developer Hub 1.9—
Red HatRed Hat Discovery 2—
Red HatRed Hat Migration Toolkit 1.8—
Red HatRed Hat OpenShift Container Platform 4.14—
Red HatRed Hat OpenShift Container Platform 4.15—
Red HatRed Hat OpenShift Container Platform 4.16—
Red HatRed Hat OpenShift Container Platform 4.17—
Red HatRed Hat OpenShift Container Platform 4.18—
Red HatRed Hat OpenShift Container Platform 4.19—
Red HatRed Hat OpenShift Container Platform 4.20—
Red HatRed Hat OpenShift Container Platform 4.20—
Red HatRed Hat OpenShift Container Platform 4.21—
Red HatRed Hat OpenShift Container Platform 4.21—
Red HatRed Hat OpenShift Container Platform 4.22—
Red HatRed Hat OpenShift Container Platform 4.22—
Red HatRed Hat OpenShift Dev Spaces 3.30—
Red HatRed Hat OpenShift Service Mesh 2.6—
Red HatRed Hat OpenShift Service Mesh 2.6—
Red HatRed Hat OpenShift Service Mesh 3.0—
Red HatRed Hat OpenShift Service Mesh 3.0—
Red HatRed Hat OpenShift Service Mesh 3.1—
Red HatRed Hat OpenShift Service Mesh 3.1—
Red HatRed Hat OpenShift Service Mesh 3.2—
Red HatRed Hat OpenShift Service Mesh 3.2—
Red HatRed Hat OpenShift Service Mesh 3.3—
Red HatRed Hat OpenShift Service Mesh 3.3—
Red HatRed Hat Quay 3.10—
Red HatRed Hat Quay 3.12—
Red HatRed Hat Quay 3.15—
Red HatRed Hat Quay 3.16—
Red HatRed Hat Quay 3.9—
Red HatRed Hat Satellite 6.18—
Red HatCryostat 4—
Red HatGatekeeper 3—

References

Timeline

Published
May 22, 2026
Last modified
Sep 14, 2026
NVD status
Deferred

Related CVEs from 2026

CVE-2026-927706.5Harbor through 2.15.2 fails to properly restrict the q query parameter filtering on scanner registration access credentials. Project adminisCVE-2026-927716.5Twenty before 2.35.0 fails to validate field and row permissions in the groupBy-with-records GraphQL resolver, allowing authenticated users CVE-2026-927727.1Leantime before 3.9.6 contains an authorization bypass vulnerability in the HTMX plugin install endpoint that lacks permission validation. ACVE-2026-927737.1Trigger.dev before 4.6.0 fails to verify that an authenticated user controls a GitHub App installation before binding it to their organizatiCVE-2026-927744.3Wiki.js through 2.5.314 omits page tags from authorization checks in multiple GraphQL resolvers, allowing tag-based access restrictions to bCVE-2026-927756.5Wiki.js through 2.5.314 contains a server-side request forgery vulnerability in the Image Prefetch renderer that fetches arbitrary URLs withCVE-2026-927768.1Wiki.js through 2.5.314 fails to require path separators when matching START and END page rules, allowing attackers to access pages sharing CVE-2026-927776.4A potential vulnerability was reported in some Lenovo Tablets that could allow a user with physical access to an unlocked tablet to bypass dCVE-2026-927785.4CMAK through 3.0.0.6 fails to apply the scheduled leader election feature toggle to HTML form routes, allowing attackers to bypass the featuCVE-2026-927797.6Builder.io Gen2 SDKs through versions 5.2.11 and 0.25.13 contain a prototype pollution vulnerability in the deep-set helper function that prCVE-2026-92785.4The Form Builder CP WordPress plugin before 1.2.47 does not properly sanitize a form configuration value before storing it and using it as pCVE-2026-927808.8KnowStreaming through 3.4.1 fails to enforce role-based access control on REST API endpoints, allowing any authenticated user to access prot