8.1Yüksek

CVE-2026-9277shell-quote `quote()` does not validate object-token shapes, allowing command injection via line terminators in `.op`

shell-quote; Red Hat Cryostat 4 on RHEL 9; Red Hat Cluster Observability Operator 1.5.0; Red Hat Red Hat Ansible Automation Platform 2.1 Yayım: (5 ay önce)

Açıklama

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

Zayıflık türü (CWE): CWE-78CWE-77

Veri: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Bilgiler kaynaktaki haliyle, İngilizce yayımlanır.

Etkilenen ürünler ve sürümler

ÜreticiÜrünSürümler
cluster observability operator 1.5 —
cryostat 4 —
discovery 2 —
openshift 4.14 —
openshift 4.15 —
openshift 4.16 —
openshift 4.17 —
openshift 4.18 —
openshift 4.19 —
openshift 4.20 —
openshift 4.21 —
openshift 4.22 —
openshift devspaces 3.30 —
quay 3.10 —
quay 3.12 —
quay 3.15 —
quay 3.16 —
quay 3.9 —
Red Hat Cluster Observability Operator 1.5.0 all versions
Red Hat Cryostat 4 —
Red Hat Cryostat 4 on RHEL 9 all versions
Red Hat Gatekeeper 3 —
Red Hat Node HealthCheck Operator —
Red Hat OpenShift Lightspeed all versions
Red Hat OpenShift Pipelines all versions
Red Hat OpenShift Service Mesh 3 —
Red Hat Red Hat AMQ Broker 7 —
Red Hat Red Hat Ansible Automation Platform 2 all versions
Red Hat Red Hat Ansible Automation Platform 2.1 all versions
Red Hat Red Hat build of Apache Camel - HawtIO 4 —
Red Hat Red Hat Build of Podman Desktop all versions
Red Hat Red Hat Build of Podman Desktop - Tech Preview all versions
Red Hat Red Hat Data Grid 8 —
Red Hat Red Hat Developer Hub 1.10 all versions
Red Hat Red Hat Developer Hub 1.9 all versions
Red Hat Red Hat Discovery 2 all versions
Red Hat Red Hat Enterprise Linux 10 —
Red Hat Red Hat Enterprise Linux 8 —
Red Hat Red Hat Enterprise Linux 9 all versions
Red Hat Red Hat Migration Toolkit 1.8 all versions
Red Hat Red Hat OpenShift Container Platform 4.14 all versions
Red Hat Red Hat OpenShift Container Platform 4.15 all versions
Red Hat Red Hat OpenShift Container Platform 4.16 all versions
Red Hat Red Hat OpenShift Container Platform 4.17 all versions
Red Hat Red Hat OpenShift Container Platform 4.18 all versions
Red Hat Red Hat OpenShift Container Platform 4.19 all versions
Red Hat Red Hat OpenShift Container Platform 4.20 all versions
Red Hat Red Hat OpenShift Container Platform 4.21 all versions
Red Hat Red Hat OpenShift Container Platform 4.22 all versions
Red Hat Red Hat OpenShift Dev Spaces 3.30 all versions
Red Hat Red Hat OpenShift Service Mesh 2.6 all versions
Red Hat Red Hat OpenShift Service Mesh 3.0 all versions
Red Hat Red Hat OpenShift Service Mesh 3.1 all versions
Red Hat Red Hat OpenShift Service Mesh 3.2 all versions
Red Hat Red Hat OpenShift Service Mesh 3.3 all versions
Red Hat Red Hat Quay 3.10 all versions
Red Hat Red Hat Quay 3.12 all versions
Red Hat Red Hat Quay 3.15 all versions
Red Hat Red Hat Quay 3.16 all versions
Red Hat Red Hat Quay 3.9 all versions
Red Hat Red Hat Satellite 6.18 all versions
rhdh 1.10 —
rhdh 1.9 —
rhmt 1.8 —
satellite 6.18 —
service mesh 2.6 —
service mesh 3.0 —
service mesh 3.1 —
service mesh 3.2 —
service mesh 3.3 —
— shell-quote 1.1.0 – < 1.8.4

Kaynaklar ve yamalar