Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-13311

Опубликовано: 25 июн. 2026
Источник: redhat
CVSS3: 6.5

Описание

shell-quote prior to 1.8.5 finalizes parsed tokens in parse() using Array.prototype.concat as a reduce accumulator, which reallocates and copies the entire growing array on every iteration. As a result parse() runs in O(n^2) time relative to the number of input tokens. An attacker who can supply an attacker-controlled string to any code path that calls parse() (no shell metacharacters are required; plain space-separated words suffice) can block the single-threaded Node.js event loop for an extended period with a small input, resulting in a denial of service. There is no code execution or data disclosure; impact is to availability only. Fixed in 1.8.5.

A flaw was found in the shell-quote component. An attacker who can supply a specially crafted string to the parse() function can exploit an inefficiency in how the component processes input. This can cause the single-threaded Node.js event loop to be blocked for an extended period, leading to a denial of service (DoS) for the affected system. The vulnerability impacts the availability of the system, with no risk of code execution or data disclosure.

Отчет

A flaw was found in the shell-quote npm package's parse() function, which uses an O(n²) array concatenation pattern when processing tokens. An attacker who can supply untrusted input to code paths calling parse() can block the Node.js event loop with a relatively small payload of space-separated words, causing a denial of service (DoS). The vulnerable parse() function is not typically exposed to external user input in Red Hat product deployments, reducing the practical exploitability of this flaw.

Меры по смягчению последствий

Upgrade shell-quote to version 1.8.5. If upgrading shell-quote to version 1.8.5 or later is not immediately possible, the following mitigations can reduce exposure:

  1. Validate and limit the length of any user-controlled strings before passing them to shell-quote's parse() function.
  2. If parse() is not required, ensure that only the quote() function is used, as it is not affected by this vulnerability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Cryostat 4cryostat-openshift-console-plugin-npmFix deferred
Cryostat 4shell-quoteFix deferred
Gatekeeper 3gatekeeper/gatekeeper-rhel9Fix deferred
Migration Toolkit for Containersrhmtc/openshift-migration-ui-rhel8Fix deferred
Node HealthCheck Operatorworkload-availability/node-healthcheck-must-gather-rhel9Fix deferred
Node HealthCheck Operatorworkload-availability/node-healthcheck-operator-bundleFix deferred
Node HealthCheck Operatorworkload-availability/node-healthcheck-rhel9-operatorFix deferred
OpenShift Lightspeedopenshift-lightspeed/lightspeed-console-plugin-419-rhel9Fix deferred
OpenShift Lightspeedopenshift-lightspeed/lightspeed-console-plugin-pf5-rhel9Fix deferred
OpenShift Lightspeedopenshift-lightspeed/lightspeed-console-plugin-rhel9Fix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-1050
https://bugzilla.redhat.com/show_bug.cgi?id=2492642shell-quote: shell-quote/parse: shell-quote: Denial of Service due to inefficient input parsing

6.5 Medium

CVSS3

Связанные уязвимости

CVSS3: 7.5
ubuntu
около 2 месяцев назад

shell-quote prior to 1.8.5 finalizes parsed tokens in parse() using Array.prototype.concat as a reduce accumulator, which reallocates and copies the entire growing array on every iteration. As a result parse() runs in O(n^2) time relative to the number of input tokens. An attacker who can supply an attacker-controlled string to any code path that calls parse() (no shell metacharacters are required; plain space-separated words suffice) can block the single-threaded Node.js event loop for an extended period with a small input, resulting in a denial of service. There is no code execution or data disclosure; impact is to availability only. Fixed in 1.8.5.

CVSS3: 7.5
nvd
около 2 месяцев назад

shell-quote prior to 1.8.5 finalizes parsed tokens in parse() using Array.prototype.concat as a reduce accumulator, which reallocates and copies the entire growing array on every iteration. As a result parse() runs in O(n^2) time relative to the number of input tokens. An attacker who can supply an attacker-controlled string to any code path that calls parse() (no shell metacharacters are required; plain space-separated words suffice) can block the single-threaded Node.js event loop for an extended period with a small input, resulting in a denial of service. There is no code execution or data disclosure; impact is to availability only. Fixed in 1.8.5.

CVSS3: 7.5
debian
около 2 месяцев назад

shell-quote prior to 1.8.5 finalizes parsed tokens in parse() using Ar ...

CVSS3: 7.5
github
29 дней назад

shell-quote: Quadratic-complexity Denial of Service in `parse()` (CWE-407)

suse-cvrf
около 2 месяцев назад

Security update for python-pytest-html

6.5 Medium

CVSS3