Описание
Undici is an HTTP/1.1 client. Starting in version 4.5.0 and prior to versions 5.28.5, 6.21.1, and 7.2.3, undici uses Math.random() to choose the boundary for a multipart/form-data request. It is known that the output of Math.random() can be predicted if several of its generated values are known. If there is a mechanism in an app that sends multipart requests to an attacker-controlled website, they can use this to leak the necessary values. Therefore, an attacker can tamper with the requests going to the backend APIs if certain conditions are met. This is fixed in versions 5.28.5, 6.21.1, and 7.2.3. As a workaround, do not issue multipart requests to attacker controlled servers.
A flaw was found in the undici package for Node.js. Undici uses Math.random() to choose the boundary for a multipart/form-data request. It is known that the output of Math.random() can be predicted if several of its generated values are known. If an app has a mechanism that sends multipart requests to an attacker-controlled website, it can leak the necessary values. Therefore, an attacker can tamper with the requests going to the backend APIs if certain conditions are met.
Отчет
MODERATE impact: CVE-2025-22150 affects Red Hat products and community streams that ship the undici component. In affected applications, undici uses Math.random() to select multipart/form-data boundaries; an attacker-controlled destination can observe enough generated values to predict the boundary and, under the stated conditions, tamper with requests sent to backend APIs. The CVSS 3.1 score is 6.8 (AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N), reflecting the required high attack complexity and user interaction. Current affects mark Fedora 40/41 nodejs20/nodejs22, OpenShift Lightspeed, Red Hat OpenShift AI, Red Hat Developer Hub, Red Hat OpenShift Dev Spaces, and Ansible Services as affected or delegated for handling; records delegated as AFFECTED indicate that a fix is being pursued, while the current RHOAI 2.13 and 2.17 records are marked WONTFIX. Enterprise Application Platform streams and several RHOAI streams/components are delegated NOTAFFECTED, and Red Hat Enterprise Linux 10.0 nodejs22 is NOTAFFECTED because the vulnerable code is not present. The current data provides no further technical reason for the Enterprise Application Platform or RHOAI delegated-NOTAFFECTED records, so no additional reason is asserted. The issue remains conditional on an application sending multipart requests to an attacker-controlled site.
Меры по смягчению последствий
Until a vendor-provided update containing the fix is available, do not send multipart/form-data requests from affected applications to attacker-controlled destinations. Restrict outbound destinations for such requests with an allowlist or firewall policy, or disable the application feature or path that sends these requests where operationally possible. Upgrade to a vendor-provided update containing the fix when available.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| OpenShift Lightspeed | openshift-lightspeed-tech-preview/lightspeed-console-plugin-rhel9 | Affected | ||
| Red Hat Enterprise Linux 10 | nodejs22 | Not affected | ||
| Red Hat JBoss Enterprise Application Platform 8 | org.keycloak-keycloak-parent | Not affected | ||
| Red Hat JBoss Enterprise Application Platform Expansion Pack | org.keycloak-keycloak-parent | Not affected | ||
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-rhel8-operator | Not affected | ||
| Red Hat OpenShift Dev Spaces | devspaces/dashboard-rhel8 | Affected | ||
| Red Hat OpenShift Dev Spaces | devspaces/pluginregistry-rhel8 | Affected | ||
| Red Hat Developer Hub 1.3 on RHEL 9 | rhdh-hub-container-1.3 | Fixed | RHSA-2025:1454 | 13.02.2025 |
| Red Hat Enterprise Linux 8 | nodejs | Fixed | RHSA-2025:1351 | 12.02.2025 |
| Red Hat Enterprise Linux 8 | nodejs | Fixed | RHSA-2025:1582 | 17.02.2025 |
Показывать по
Ссылки на источники
Дополнительная информация
Статус:
EPSS
6.8 Medium
CVSS3
Связанные уязвимости
Undici is an HTTP/1.1 client. Starting in version 4.5.0 and prior to versions 5.28.5, 6.21.1, and 7.2.3, undici uses `Math.random()` to choose the boundary for a multipart/form-data request. It is known that the output of `Math.random()` can be predicted if several of its generated values are known. If there is a mechanism in an app that sends multipart requests to an attacker-controlled website, they can use this to leak the necessary values. Therefore, an attacker can tamper with the requests going to the backend APIs if certain conditions are met. This is fixed in versions 5.28.5, 6.21.1, and 7.2.3. As a workaround, do not issue multipart requests to attacker controlled servers.
Undici is an HTTP/1.1 client. Starting in version 4.5.0 and prior to versions 5.28.5, 6.21.1, and 7.2.3, undici uses `Math.random()` to choose the boundary for a multipart/form-data request. It is known that the output of `Math.random()` can be predicted if several of its generated values are known. If there is a mechanism in an app that sends multipart requests to an attacker-controlled website, they can use this to leak the necessary values. Therefore, an attacker can tamper with the requests going to the backend APIs if certain conditions are met. This is fixed in versions 5.28.5, 6.21.1, and 7.2.3. As a workaround, do not issue multipart requests to attacker controlled servers.
Undici is an HTTP/1.1 client. Starting in version 4.5.0 and prior to v ...
EPSS
6.8 Medium
CVSS3