CVE-2025-22150

Undici Uses Insufficiently Random Values

Published Jan 21, 2025 CVSS 3.1 · 6.8 Medium EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2025-0154 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.
Github GHSA Github GHSA GHSA-c76h-2ccp-4975 Use of Insufficiently Random Values in undici
History
Type Values Removed Values Added
Metrics epss

{'score': 0.00038}

epss

{'score': 0.00041}

Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift_ai:2.16::el8
cpe:/a:redhat:rhdh:1.5::el9
Type Values Removed Values Added
First Time appeared Redhat openshift Ai
CPEs cpe:/a:redhat:openshift_ai:2.18::el8
Vendors & Products Redhat openshift Ai
Type Values Removed Values Added
CPEs cpe:/a:redhat:rhdh:1.4::el9
Type Values Removed Values Added
First Time appeared Redhat rhdh
CPEs cpe:/a:redhat:enterprise_linux:9
cpe:/a:redhat:rhdh:1.3::el9
Vendors & Products Redhat rhdh
Type Values Removed Values Added
First Time appeared Redhat
Redhat enterprise Linux
CPEs cpe:/a:redhat:enterprise_linux:8
Vendors & Products Redhat
Redhat enterprise Linux
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title Undici Uses Insufficiently Random Values
Weaknesses CWE-330
References
Metrics cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Feb 12, 2025, 8:41 PM
Reserved
Dec 30, 2024, 3:00 AM
Status
Deferred
Published
Jan 21, 2025, 6:15 PM
Modified
Jun 17, 2026, 8:45 AM
Severity
Moderate
Public date
Jan 21, 2025, 5:46 PM