Medium severity · published Jan 21, 2025
CVE-2025-22150
Undici Uses Insufficiently Random Values
6.8
CVSS
0.8%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
Required
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.8% · higher than 55% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
UN
undici · nodejs
>= 4.5.0, < 5.28.5; >= 6.0.0, < 6.21.1; >= 7.0.0, < 7.2.3 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2025-22150
CVE.org
https://www.cve.org/CVERecord?id=CVE-2025-22150
blog.securityevaluators.com
https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f
github.com
https://github.com/nodejs/undici/blob/8b06b8250907d92fead664b3368f1d2aa27c1f35/lib/web/fetch/body.js#L113
github.com
https://github.com/nodejs/undici/commit/711e20772764c29f6622ddc937c63b6eefdf07d0
github.com
https://github.com/nodejs/undici/commit/c2d78cd19fe4f4c621424491e26ce299e65e934a
github.com
https://github.com/nodejs/undici/commit/c3acc6050b781b827d80c86cbbab34f14458d385
github.com
https://github.com/nodejs/undici/security/advisories/GHSA-c76h-2ccp-4975
More from undici
9.8
CVE-2026-1525
undici is vulnerable to Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
9.8
CVE-2022-35949
undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forgery) when an application takes in **user input** into the…
9.1
CVE-2026-109383
undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent
9.1
CVE-2026-109829
undici vulnerable to cache poisoning and cross-user disclosure via cross-origin redirects
9.1
CVE-2026-84961
undici vulnerable to TLS certificate validation bypass via dropped connect options in BalancedPool
