Описание
Colord is a tiny yet powerful tool for high-performance color manipulations and conversions. Prior to 2.9.4, synchronous CSS color string matchers in src/colorModels/rgbString.ts, src/colorModels/hslString.ts, src/colorModels/hwbString.ts, src/colorModels/lchString.ts, and src/colorModels/cmykString.ts use the ambiguous numeric regular expression ([+-]?\d*.?\d+), allowing the same digits to be divided between overlapping quantifiers in quadratically many ways when malformed input is rejected. An attacker who can supply an unbounded color string to colord(), getFormat(), isEqual(), mix(), or contrast(), including through a request body, JSON field, or uploaded stylesheet, can block the processing thread with a multi-kilobyte payload. The affected matchers are parseRgbaString, parseHslaString, parseHwbaString, parseLchaString, and parseCmykaString. This issue is fixed in version 2.9.4.
A flaw was found in Colord, a tool for color manipulations. A remote attacker can supply a specially crafted, oversized color string to the affected component. This can cause the processing thread to block, leading to a denial of service (DoS) for the application using Colord.
Отчет
A regular expression denial of service (ReDoS) flaw was found in the colord npm package. The synchronous CSS color string matchers in colord use ambiguous regular expressions that exhibit quadratic backtracking when processing malformed input. An attacker who can supply unbounded color strings to the library's parsing functions (such as colord(), getFormat(), isEqual(), mix(), or contrast()) may temporarily block the processing thread. However, exploitation requires multi-kilobyte payloads to cause a noticeable stall (64 KB for a ~4 second delay), and the growth is polynomial (quadratic), not exponential. Note: The RHEL RPM packages named "colord" (hughsie/colord) are a completely different C-based color management daemon and are not affected by this vulnerability. Only the npm package "colord" (omgovich/colord) is affected. This issue is fixed in version 2.9.4.
Меры по смягчению последствий
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Gatekeeper 3 | gatekeeper/gatekeeper-rhel9 | Under investigation | ||
| Node HealthCheck Operator | workload-availability/node-healthcheck-must-gather-rhel9 | Under investigation | ||
| Node HealthCheck Operator | workload-availability/node-healthcheck-operator-bundle | Under investigation | ||
| Node HealthCheck Operator | workload-availability/node-healthcheck-rhel9-operator | Under investigation | ||
| Node HealthCheck Operator | workload-availability/node-remediation-console-rhel8 | Under investigation | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-console-plugin-pf5-rhel9 | Under investigation | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-console-plugin-rhel9 | Under investigation | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-hub-ui-rhel8 | Under investigation | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-hub-ui-rhel9 | Under investigation | ||
| OpenShift Service Mesh 3 | openshift-service-mesh/kiali-operator-bundle | Under investigation |
Показывать по
Ссылки на источники
Дополнительная информация
Статус:
EPSS
5.3 Medium
CVSS3
Связанные уязвимости
Colord is a tiny yet powerful tool for high-performance color manipulations and conversions. Prior to 2.9.4, synchronous CSS color string matchers in src/colorModels/rgbString.ts, src/colorModels/hslString.ts, src/colorModels/hwbString.ts, src/colorModels/lchString.ts, and src/colorModels/cmykString.ts use the ambiguous numeric regular expression ([+-]?\d*.?\d+), allowing the same digits to be divided between overlapping quantifiers in quadratically many ways when malformed input is rejected. An attacker who can supply an unbounded color string to colord(), getFormat(), isEqual(), mix(), or contrast(), including through a request body, JSON field, or uploaded stylesheet, can block the processing thread with a multi-kilobyte payload. The affected matchers are parseRgbaString, parseHslaString, parseHwbaString, parseLchaString, and parseCmykaString. This issue is fixed in version 2.9.4.
EPSS
5.3 Medium
CVSS3