GitHub Advisoryadvisory · npm

GHSA-c76h-2ccp-4975 Use of Insufficiently Random Values in undici

MEDIUM Published 2025-01-21 Modified 2025-01-21 Official page ↗
Aliases
CVE-2025-22150
Ecosystem
npm
Packages
undici
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
Weaknesses
CWE-330
Reviewed
2025-01-21

Affected packages

• npm undici: >= 4.5.0, < 5.28.5 → fixed in 5.28.5 • npm undici: >= 6.0.0, < 6.21.1 → fixed in 6.21.1 • npm undici: >= 7.0.0, < 7.2.3 → fixed in 7.2.3

Description

Impact Undici `fetch()` 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. Patches This is fixed in 5.28.5; 6.21.1; 7.2.3. Workarounds Do not issue multipart requests to attacker controlled servers. References • https://hackerone.com/reports/2913312 • https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f

Related

Alias · CVE (1)

Weakness · CWE (1)

  • CWE-330 Use of Insufficiently Random Values weakness

References