CVE-2026-9277 shell-quote's `quote()` function did not validate object-token inputs against the operator model used by `parse()`
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`.
Produits et versions touchés
| Produit | Versions touchées | Corrigé en |
|---|---|---|
| Cryostat 4 on RHEL 9 4.2 | premières → < 4.2.0-10 | 4.2.0-10 |
| Red Hat Developer Hub 1.9 1782761244 | premières → < 1782761244 | 1782761244 |
| Red Hat Discovery 2 1782166952 | premières → < 1782166952 | 1782166952 |
| Red Hat OpenShift Service Mesh 2.6 1780916536 | premières → < 1780916536 | 1780916536 |
| Red Hat OpenShift Service Mesh 3.0 1780916345 | premières → < 1780916345 | 1780916345 |
| Red Hat OpenShift Service Mesh 3.1 1780916478 | premières → < 1780916478 | 1780916478 |
| Red Hat OpenShift Service Mesh 3.2 1780916392 | premières → < 1780916392 | 1780916392 |
| Red Hat OpenShift Service Mesh 3.3 1780997438 | premières → < 1780997438 | 1780997438 |
| Red Hat Quay 3.12 1781937357 | premières → < 1781937357 | 1781937357 |
Afficher les 49 autres branches Masquer les 49 autres branches
| Produit | Versions touchées | Corrigé en |
|---|---|---|
| Red Hat Quay 3.9 1781878070 | premières → < 1781878070 | 1781878070 |
| Red Hat Satellite 6.18 1781032495 | premières → < 1781032495 | 1781032495 |
| Migration Toolkit for Containers | Versions non publiées | |
| OpenShift Lightspeed | Versions non publiées | |
| OpenShift Pipelines | Versions non publiées | |
| Red Hat Ansible Automation Platform 2 | Versions non publiées | |
| Red Hat Build of Podman Desktop | Versions non publiées | |
| Red Hat Build of Podman Desktop - Tech Preview | Versions non publiées | |
| Red Hat Enterprise Linux 9 | Versions non publiées | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Versions non publiées | |
| Red Hat Fuse 7 | Versions non publiées | |
| Red Hat OpenShift Container Platform 4 | Versions non publiées | |
| Red Hat OpenShift Virtualization 4 | Versions non publiées | |
| Self-service automation portal 2 | Versions non publiées | |
| Cryostat 4 | Versions non publiées | |
| Gatekeeper 3 | Versions non publiées | |
| Node HealthCheck Operator | Versions non publiées | |
| OpenShift Service Mesh 3 | Versions non publiées | |
| Red Hat AMQ Broker 7 | Versions non publiées | |
| Red Hat build of Apache Camel - HawtIO 4 | Versions non publiées | |
| Red Hat Data Grid 8 | Versions non publiées | |
| Red Hat Enterprise Linux 10 | Versions non publiées | |
| Red Hat Enterprise Linux 8 | Versions non publiées | |
| Red Hat OpenShift AI (RHOAI) | Versions non publiées | |
| Red Hat Trusted Artifact Signer | Versions non publiées | |
| Red Hat OpenShift Container Platform 4.21 1784713741 | premières → < 1784713741 | 1784713741 |
| Red Hat OpenShift Container Platform 4.22 1784721581 | premières → < 1784721581 | 1784721581 |
| Red Hat Quay 3.10 1782487717 | premières → < 1782487717 | 1782487717 |
| Cluster Observability Operator 1.5.0 1782839494 | premières → < 1782839494 | 1782839494 |
| Red Hat OpenShift Container Platform 4.20 1784724699 | premières → < 1784724699 | 1784724699 |
| Red Hat Developer Hub 1.10 1783448184 | premières → < 1783448184 | 1783448184 |
| Red Hat OpenShift Service Mesh 3 1780916345 | premières → < 1780916345 | 1780916345 |
| Red Hat Quay 3.16 1783955846 | premières → < 1783955846 | 1783955846 |
| Red Hat OpenShift Container Platform 4.2 1784724699 | premières → < 1784724699 | 1784724699 |
| Red Hat Quay 3.1 1782487717 | premières → < 1782487717 | 1782487717 |
| Red Hat Migration Toolkit 1.8 1783690532 | premières → < 1783690532 | 1783690532 |
| Red Hat Quay 3.15 1784351966 | premières → < 1784351966 | 1784351966 |
| Red Hat OpenShift Container Platform 4.19 1783718157 | premières → < 1783718157 | 1783718157 |
| Red Hat OpenShift Dev Spaces | Versions non publiées | |
| Red Hat Ansible Automation Platform 2.1 1785854226 | premières → < 1785854226 | 1785854226 |
| Red Hat OpenShift Container Platform 4.18 1785278569 | premières → < 1785278569 | 1785278569 |
| Self-service automation portal 2.1 1785854226 | premières → < 1785854226 | 1785854226 |
| Red Hat Migration Toolkit for Containers 1.8 1783690532 | premières → < 1783690532 | 1783690532 |
| Red Hat OpenShift Container Platform 4.15 1787028559 | premières → < 1787028559 | 1787028559 |
| Red Hat OpenShift Container Platform 4.16 1787054159 | premières → < 1787054159 | 1787054159 |
| Cluster Observability Operator 1.5.2 1782839494 | premières → < 1782839494 | 1782839494 |
| Red Hat OpenShift Dev Spaces 3.30 1787762793 | premières → < 1787762793 | 1787762793 |
| Red Hat OpenShift Container Platform 4.17 1787631382 | premières → < 1787631382 | 1787631382 |
| Red Hat OpenShift Container Platform 4.14 1788218669 | premières → < 1788218669 | 1788218669 |
Références
- GHSA-w7jw-789q-3m8p github.com
- Fix commit github.com
- github.com github.com
- www.npmjs.com www.npmjs.com
Chronologie
- Publiée
- Dernière modification