CVE-2024-38372
Low · 2.0CVSS
2.0
EPSS
0.5%
Published
Jul 8, 2024
CISA due date
—
Cloudanix analysis
A programming library used by many Node.js applications to make web requests could sometimes accidentally include pieces of the computer's working memory in its responses, potentially exposing sensitive information.
- Exploitation
- Remote Authenticated
- Attacker needs
- High Privilege
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Under specific network and process conditions during a fetch() request, response.arrayBuffer() can return a buffer containing portions of unrelated memory from the Node.js process heap.
Why it matters to the business
Low-risk potential exposure of sensitive in-memory data such as credentials or internal application state in Node.js applications using the undici HTTP client; limited operational impact due to narrow triggering conditions and low exploitability.
How an attack unfolds
An attacker sends a fetch request to a target using undici and, under favorable timing or network conditions, inspects the result of response.arrayBuffer() to extract leaked process memory fragments containing sensitive data.
How to fix it
Upgrade undici to version 6.19.2 or later (commit 532b7b28827afe52ed7b43cbb210ac8425516c28) in all affected Node.js projects and rebuild or redeploy dependent applications.
How to confirm the fix worked
Verify undici version is 6.19.2 or newer via package.json or npm list, then test fetch responses under varied network conditions to confirm arrayBuffer() no longer contains extraneous memory data.
Typical attack path
- Identify a Node.js application using vulnerable undici for outbound fetch requests
- Trigger a fetch() call under specific network or process timing conditions
- Call response.arrayBuffer() on the returned response object
- Inspect the resulting buffer for unintended memory contents from the Node.js heap
How to detect it
Review application logs and memory dumps for unexpected buffer contents after fetch operations; no specific post-exploitation artifacts are known, so focus on confirming the presence of vulnerable undici versions in running processes or containers.
What your security team should do
- Immediately upgrade all undici dependencies to 6.19.2 or later across the Node.js ecosystem
- Scan package locks and CI pipelines for older undici versions and enforce minimum version in dependency policies
- Monitor for any future undici updates given its widespread use in Node.js HTTP clients
The record
Undici is an HTTP/1.1 client, written from scratch for Node.js. Depending on network and process conditions of a `fetch()` request, `response.arrayBuffer()` might include portion of memory from the Node.js process. This has been patched in v6.19.2.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | undici | 6.14.0 | 6.19.2 |
| Ubuntu:24.04:LTS | node-undici | 0 | No fix |
| Ubuntu:24.10 | node-undici | 0 | No fix |
| Ubuntu:25.04 | node-undici | 0 | No fix |
| Ubuntu:25.10 | node-undici | 0 | No fix |
Related vulnerabilities
- GHSA-g8m3-5g58-fq7m undici vulnerable to Set-Cookie SameSite attribute downgrade via permissive substring… Also affects undici
- GHSA-vxpw-j846-p89q undici WebSocket client vulnerable to denial of service via fragment count bypass Also affects undici
- GHSA-p88m-4jfj-68fv undici vulnerable to HTTP header injection via Set-Cookie percent-decoding Also affects undici
- GHSA-hm92-r4w5-c3mj undici vulnerable to cross-origin request routing via SOCKS5 proxy pool reuse Also affects undici
- GHSA-35p6-xmwp-9g52 undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse Also affects undici
- GHSA-vmh5-mc38-953g undici vulnerable to TLS certificate validation bypass via dropped requestTls in SOCKS5… Also affects undici
- GHSA-pr7r-676h-xcf6 undici vulnerable to cross-user information disclosure via shared cache whitespace bypass Also affects undici
- GHSA-38rv-x7px-6hhq undici WebSocket client vulnerable to denial of service via cumulative fragment bypass Also affects undici