CVE-2026-18540
undici vulnerable to downstream response splitting via retry interceptor
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
3.7
undici vulnerable to downstream response splitting via retry interceptor
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
CVE-2026-18540- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
EUVDEUVD-2026-71661
3.7
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
EUVD-2026-71661- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r53p-7pc4-xj5r
3.7
undici vulnerable to downstream response splitting via retry interceptor
Impact
Undici's interceptors.retry() can resume a request after a partial response and append the resumed bytes to an already partially delivered body, while the application still receives the original response's status and headers. When that response carried a Content-Length, the application can receive a longer body. Applications that forward Undici's status, headers, and body downstream without recalculating framing, for example proxy or gateway applications, may emit a response whose body exceeds the forwarded Content-Length, and the excess bytes can be read as the start of a subsequent HTTP response (downstream response splitting or desynchronization).
For example, a 404 Not Found with Content-Length: 2 that sends one byte then closes can be resumed with an open-ended Range request, and the resumed 206 Partial Content bytes are appended, so the application receives more than two body bytes while still seeing Content-Length: 2. The bug requires interceptors.retry() enabled, an attacker-controlled or faulty upstream, and a downstream forwarder that does not recalculate Content-Length.
Patches
Patched in undici v6.28.1, v7.29.1, and v8.10.2. Upgrade to one of these or later.
Workarounds
- Disable
interceptors.retry()for untrusted upstreams, or setmaxRetries: 0. - Remove or recalculate
Content-Lengthbefore forwarding a response body assembled by Undici.
- Record
GHSA-r53p-7pc4-xj5r- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
NVD
3.7
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
CVE-2026-18540- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
OSV
3.7
undici vulnerable to downstream response splitting via retry interceptor
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
CVE-2026-18540- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-18540
3.7
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
DEBIAN-CVE-2026-18540- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
Show 19 moreShow less
OSVGHSA-r53p-7pc4-xj5r
3.7
undici vulnerable to downstream response splitting via retry interceptor
Impact
Undici's interceptors.retry() can resume a request after a partial response and append the resumed bytes to an already partially delivered body, while the application still receives the original response's status and headers. When that response carried a Content-Length, the application can receive a longer body. Applications that forward Undici's status, headers, and body downstream without recalculating framing, for example proxy or gateway applications, may emit a response whose body exceeds the forwarded Content-Length, and the excess bytes can be read as the start of a subsequent HTTP response (downstream response splitting or desynchronization).
For example, a 404 Not Found with Content-Length: 2 that sends one byte then closes can be resumed with an open-ended Range request, and the resumed 206 Partial Content bytes are appended, so the application receives more than two body bytes while still seeing Content-Length: 2. The bug requires interceptors.retry() enabled, an attacker-controlled or faulty upstream, and a downstream forwarder that does not recalculate Content-Length.
Patches
Patched in undici v6.28.1, v7.29.1, and v8.10.2. Upgrade to one of these or later.
Workarounds
- Disable
interceptors.retry()for untrusted upstreams, or setmaxRetries: 0. - Remove or recalculate
Content-Lengthbefore forwarding a response body assembled by Undici.
- Record
GHSA-r53p-7pc4-xj5r- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVRHSA-2026:66008
8.8
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:66008- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:66605
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:66605- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:71017
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:71017- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-18540
3.7
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
UBUNTU-CVE-2026-18540- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVAZL-99939 No score
CVE-2026-18540 affecting package nodejs 24.22.1-1
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
- Record
AZL-99939- Updated
- 2026-11-05
OSVCLSA-2026-1790755997 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 7.29.0-tuxcare.3.
- Record
CLSA-2026-1790755997- Updated
- 2026-11-02
OSVCLSA-2026-1790854818 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 7.28.0-tuxcare.5.
- Record
CLSA-2026-1790854818- Updated
- 2026-11-02
OSVCLSA-2026-1791666983 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 6.20.0-tuxcare.2.
- Record
CLSA-2026-1791666983- Updated
- 2026-11-02
OSVCLSA-2026-1791798691 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 6.19.7-tuxcare.4.
- Record
CLSA-2026-1791798691- Updated
- 2026-11-02
OSVCLSA-2026-1791814910 No score
TuxCare security update for undici (2 CVEs)
TuxCare rebuilt undici to address 2 CVEs. Fixed in 6.19.5-tuxcare.4.
- Record
CLSA-2026-1791814910- Updated
- 2026-11-02
OSVCLSA-2026-1791889848 No score
TuxCare security update for undici (2 CVEs)
TuxCare rebuilt undici to address 2 CVEs. Fixed in 6.28.0-tuxcare.2.
- Record
CLSA-2026-1791889848- Updated
- 2026-11-02
OSVCLSA-2026-1791908544 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 6.11.1-tuxcare.6.
- Record
CLSA-2026-1791908544- Updated
- 2026-11-02
OSVCLSA-2026-1791969425 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 5.28.5-tuxcare.9.
- Record
CLSA-2026-1791969425- Updated
- 2026-11-02
OSVCLSA-2026-1791969916 No score
TuxCare security update for undici (1 CVE)
TuxCare rebuilt undici to address 1 CVE. Fixed in 5.29.0-tuxcare.7.
- Record
CLSA-2026-1791969916- Updated
- 2026-11-02
OSVCLSA-2026-1792478858 No score
TuxCare security update for undici (15 CVEs)
TuxCare rebuilt undici to address 15 CVEs. Fixed in 7.24.4-tuxcare.2.
- Record
CLSA-2026-1792478858- Updated
- 2026-11-05
OSVCLSA-2026-1792867309 No score
TuxCare security update for undici-types (1 CVE)
TuxCare rebuilt undici-types to address 1 CVE. Fixed in 7.29.0-tuxcare.3.
- Record
CLSA-2026-1792867309- Updated
- 2026-11-02
OSVCLSA-2026-1792867312 No score
TuxCare security update for undici-types (1 CVE)
TuxCare rebuilt undici-types to address 1 CVE. Fixed in 6.20.0-tuxcare.2.
- Record
CLSA-2026-1792867312- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-18540 No score
CVE-2026-18540 in undici - Patched by Root
Root has patched CVE-2026-18540 in the undici package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-18540- Updated
- 2026-11-06
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
undicinpm |
before 6.28.1 | 6.28.1 |
undicinpm |
7.0.0 up to 7.29.1 | 7.29.1 |
undicinpm |
8.0.0 up to 8.10.2 | 8.10.2 |
nodejsAzure Linux:3 |
through 24.22.1-1 | None known |
undiciTuxCare:npm |
7.29.0-tuxcare.0 up to 7.29.0-tuxcare.3, plus listed versions 7.29.07.29.0-tuxcare.17.29.0-tuxcare.2 |
7.29.0-tuxcare.3 |
undiciTuxCare:npm |
7.28.0-tuxcare.0 up to 7.28.0-tuxcare.5, plus listed versions 7.28.07.28.0-tuxcare.17.28.0-tuxcare.27.28.0-tuxcare.37.28.0-tuxcare.4 |
7.28.0-tuxcare.5 |
undiciTuxCare:npm |
6.20.0-tuxcare.0 up to 6.20.0-tuxcare.2, plus listed versions 6.20.06.20.0-tuxcare.1 |
6.20.0-tuxcare.2 |
undiciTuxCare:npm |
6.19.7-tuxcare.0 up to 6.19.7-tuxcare.4, plus listed versions 6.19.76.19.7-tuxcare.16.19.7-tuxcare.26.19.7-tuxcare.3 |
6.19.7-tuxcare.4 |
undiciTuxCare:npm From an advisory covering 2 CVEs |
6.19.5-tuxcare.0 up to 6.19.5-tuxcare.4, plus listed versions 6.19.56.19.5-tuxcare.16.19.5-tuxcare.26.19.5-tuxcare.3 |
6.19.5-tuxcare.4 |
undiciTuxCare:npm From an advisory covering 2 CVEs |
6.28.0-tuxcare.0 up to 6.28.0-tuxcare.2, plus listed versions 6.28.06.28.0-tuxcare.1 |
6.28.0-tuxcare.2 |
Show 31 moreShow less
| Package | Affected | Fixed |
|---|---|---|
undiciTuxCare:npm |
6.11.1-tuxcare.0 up to 6.11.1-tuxcare.6, plus listed versions 6.11.16.11.1-tuxcare.16.11.1-tuxcare.26.11.1-tuxcare.36.11.1-tuxcare.46.11.1-tuxcare.5 |
6.11.1-tuxcare.6 |
undiciTuxCare:npm |
5.28.5-tuxcare.0 up to 5.28.5-tuxcare.9, plus listed versions 5.28.55.28.5-tuxcare.15.28.5-tuxcare.25.28.5-tuxcare.35.28.5-tuxcare.4 Show 4 moreShow less5.28.5-tuxcare.55.28.5-tuxcare.65.28.5-tuxcare.75.28.5-tuxcare.8 |
5.28.5-tuxcare.9 |
undiciTuxCare:npm |
5.29.0-tuxcare.0 up to 5.29.0-tuxcare.7, plus listed versions 5.29.05.29.0-tuxcare.15.29.0-tuxcare.25.29.0-tuxcare.35.29.0-tuxcare.45.29.0-tuxcare.55.29.0-tuxcare.6 |
5.29.0-tuxcare.7 |
undiciTuxCare:npm From an advisory covering 13 CVEs |
7.24.4-tuxcare.0 up to 7.24.4-tuxcare.2, plus listed versions 7.24.47.24.4-tuxcare.1 |
7.24.4-tuxcare.2 |
undici-typesTuxCare:npm |
7.29.0-tuxcare.0 up to 7.29.0-tuxcare.3, plus listed versions 7.29.07.29.0-tuxcare.17.29.0-tuxcare.2 |
7.29.0-tuxcare.3 |
undici-typesTuxCare:npm |
6.20.0-tuxcare.0 up to 6.20.0-tuxcare.2, plus listed versions 6.20.06.20.0-tuxcare.1 |
6.20.0-tuxcare.2 |
node-undiciDebian:12 |
All versions, plus listed versions 5.15.0+dfsg1+~cs20.10.9.3-15.15.0+dfsg1+~cs20.10.9.3-1+deb12u15.15.0+dfsg1+~cs20.10.9.3-1+deb12u25.15.0+dfsg1+~cs20.10.9.3-1+deb12u35.15.0+dfsg1+~cs20.10.9.3-1+deb12u4 Show 35 moreShow less5.19.1+dfsg1+~cs20.10.9.5-15.19.1+dfsg1+~cs20.10.9.5-25.22.1+dfsg1+~cs20.10.10.2-15.26.3+dfsg1+~cs23.10.12-15.26.3+dfsg1+~cs23.10.12-25.26.3+dfsg1+~cs23.10.12-35.28.0+dfsg1+~cs23.11.12.3-15.28.0+dfsg1+~cs23.11.12.3-25.28.2+dfsg1+~cs23.11.12.3-15.28.2+dfsg1+~cs23.11.12.3-25.28.2+dfsg1+~cs23.11.12.3-35.28.2+dfsg1+~cs23.11.12.3-45.28.2+dfsg1+~cs23.11.12.3-55.28.2+dfsg1+~cs23.11.12.3-65.28.4+dfsg1+~cs23.12.11-15.28.4+dfsg1+~cs23.12.11-27.1.0+dfsg1+~cs24.12.10-17.15.0+dfsg+~cs3.2.0-17.15.0+dfsg+~cs3.2.0-37.16.0+dfsg+~cs3.2.0-17.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-17.2.3+dfsg1+~cs24.12.11-17.2.3+dfsg1+~cs24.12.11-27.24.5+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-27.24.6+dfsg+~cs3.2.0-37.3.0+dfsg1+~cs24.12.11-17.3.0+dfsg1+~cs24.12.11-28.10.2+dfsg+~cs3.2.2-18.5.0+dfsg+~cs3.2.0-18.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1 |
None known |
node-undiciDebian:13 |
All versions, plus listed versions 7.15.0+dfsg+~cs3.2.0-17.15.0+dfsg+~cs3.2.0-37.16.0+dfsg+~cs3.2.0-17.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-1 Show 11 moreShow less7.24.5+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-27.24.6+dfsg+~cs3.2.0-37.3.0+dfsg1+~cs24.12.11-17.3.0+dfsg1+~cs24.12.11-28.10.2+dfsg+~cs3.2.2-18.5.0+dfsg+~cs3.2.0-18.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1 |
None known |
node-undiciDebian:14 |
before 8.10.2+dfsg+~cs3.2.2-1, plus listed versions 7.15.0+dfsg+~cs3.2.0-17.15.0+dfsg+~cs3.2.0-37.16.0+dfsg+~cs3.2.0-17.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-1 Show 10 moreShow less7.24.5+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-27.24.6+dfsg+~cs3.2.0-37.3.0+dfsg1+~cs24.12.11-17.3.0+dfsg1+~cs24.12.11-28.5.0+dfsg+~cs3.2.0-18.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1 |
8.10.2+dfsg+~cs3.2.2-1 |
grafana12.4Red Hat:hummingbird:1 From an advisory covering 12 CVEs |
before 0:12.4.10-0.2.hum1 | 0:12.4.10-0.2.hum1 |
nodejs26Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs26-binRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs26-develRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs26-docsRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs26-full-i18nRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs26-libsRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs26-npmRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:11.19.1-1.26.8.2.0.1.hum1 | 0:11.19.1-1.26.8.2.0.1.hum1 |
nodejs26-npm-binRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:26.8.2-0.1.hum1 | 0:26.8.2-0.1.hum1 |
nodejs24Red Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:24.21.0-1.hum1 | 0:24.21.0-1.hum1 |
nodejs24-binRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:24.21.0-1.hum1 | 0:24.21.0-1.hum1 |
nodejs24-develRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:24.21.0-1.hum1 | 0:24.21.0-1.hum1 |
nodejs24-docsRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:24.21.0-1.hum1 | 0:24.21.0-1.hum1 |
nodejs24-full-i18nRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:24.21.0-1.hum1 | 0:24.21.0-1.hum1 |
nodejs24-libsRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:24.21.0-1.hum1 | 0:24.21.0-1.hum1 |
nodejs24-npmRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:11.19.0-1.24.21.0.1.hum1 | 0:11.19.0-1.24.21.0.1.hum1 |
nodejs24-npm-binRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:11.19.0-1.24.21.0.1.hum1 | 0:11.19.0-1.24.21.0.1.hum1 |
undiciRoot:npm |
before 8.10.2-aikido.1 | 8.10.2-aikido.18.10.2-aikido.28.10.2-aikido.36.28.1-aikido.17.29.1-aikido.16.28.1-aikido.27.29.1-aikido.28.10.2-aikido.4 |
@rootio/undiciRoot:npm |
before 8.10.2-root.io.1 | 8.10.2-root.io.18.10.2-root.io.28.10.2-root.io.36.28.1-root.io.17.29.1-root.io.16.28.1-root.io.27.29.1-root.io.28.10.2-root.io.4 |
node-undiciUbuntu:24.04:LTS |
All versions, plus listed versions 5.22.1+dfsg1+~cs20.10.10.2-1ubuntu15.26.3+dfsg1+~cs23.10.12-2 |
None known |
node-undiciUbuntu:26.10 |
All versions, plus listed versions 7.18.2+dfsg+~cs3.2.0-1build17.24.6+dfsg+~cs3.2.0-38.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1 |
None known |
node-undiciUbuntu:26.04:LTS |
All versions, plus listed versions 7.3.0+dfsg1+~cs24.12.11-27.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-17.18.2+dfsg+~cs3.2.0-1build1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected | OSV | |
| affected, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-18540 is a low vulnerability (CVSS 3.7) in Nodejs Undici, published September 4, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.31%, the 23rd percentile. Fixed in undici 6.28.1.
References
github.com/nodejs/undici/security/advisories/GHSA-r53p-7pc4-xj5r
cna.openjsf.org/security-advisories.html
nvd.nist.gov/vuln/detail/CVE-2026-18540
github.com/nodejs/undici/commit/0160a719063fb0a77f4fdf9500b9166b91e14329
github.com/nodejs/undici/commit/cd8af90b38ae33c2838d54a2d629774122effe95
github.com/nodejs/undici/commit/ce31bc824b578008faae5d3350da66c1b5f71548
Show 81 moreShow less
hackerone.com/reports/3900104
hackerone.com/reports/3900615
github.com/nodejs/undici/releases/tag/v6.28.1
github.com/nodejs/undici/releases/tag/v7.29.1
github.com/nodejs/undici/releases/tag/v8.10.2
github.com/advisories/GHSA-r53p-7pc4-xj5r
github.com/CVEProject/cvelistV5/tree/main/cves/2026/18xxx/CVE-2026-18540.json
security-tracker.debian.org/tracker/CVE-2026-18540
github.com/nodejs/undici
access.redhat.com/errata/RHSA-2026:66008
images.redhat.com
access.redhat.com/security/cve/CVE-2026-84961
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-19534
access.redhat.com/security/cve/CVE-2026-18540
access.redhat.com/security/cve/CVE-2026-84933
access.redhat.com/security/cve/CVE-2026-18149
access.redhat.com/security/cve/CVE-2026-84947
access.redhat.com/security/cve/CVE-2026-85008
access.redhat.com/security/cve/CVE-2026-84890
access.redhat.com/security/cve/CVE-2026-85014
access.redhat.com/security/cve/CVE-2026-14199
access.redhat.com/security/cve/CVE-2026-28378
access.redhat.com/security/cve/CVE-2026-19197
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_66008.json
bugzilla.redhat.com/show_bug.cgi?id=2521850
cve.org/CVERecord?id=CVE-2026-14199
nvd.nist.gov/vuln/detail/CVE-2026-14199
grafana.com/security/security-advisories/cve-2026-14199
bugzilla.redhat.com/show_bug.cgi?id=2528802
cve.org/CVERecord?id=CVE-2026-18149
nvd.nist.gov/vuln/detail/CVE-2026-18149
github.com/nodejs/undici/security/advisories/GHSA-pmjh-fq2x-6v4x
bugzilla.redhat.com/show_bug.cgi?id=2528783
cve.org/CVERecord?id=CVE-2026-18540
bugzilla.redhat.com/show_bug.cgi?id=2524303
cve.org/CVERecord?id=CVE-2026-19197
nvd.nist.gov/vuln/detail/CVE-2026-19197
grafana.com/security/security-advisories/cve-2026-19197
bugzilla.redhat.com/show_bug.cgi?id=2528759
cve.org/CVERecord?id=CVE-2026-19534
nvd.nist.gov/vuln/detail/CVE-2026-19534
github.com/nodejs/undici/security/advisories/GHSA-rfgv-xxqx-mfg5
bugzilla.redhat.com/show_bug.cgi?id=2497887
cve.org/CVERecord?id=CVE-2026-28378
nvd.nist.gov/vuln/detail/CVE-2026-28378
grafana.com/security/security-advisories/cve-2026-28378
bugzilla.redhat.com/show_bug.cgi?id=2528772
cve.org/CVERecord?id=CVE-2026-84890
nvd.nist.gov/vuln/detail/CVE-2026-84890
github.com/nodejs/undici/security/advisories/GHSA-3xpg-4rpp-hhhm
bugzilla.redhat.com/show_bug.cgi?id=2528756
cve.org/CVERecord?id=CVE-2026-84933
nvd.nist.gov/vuln/detail/CVE-2026-84933
github.com/nodejs/undici/security/advisories/GHSA-2jfj-6hjv-fm6j
bugzilla.redhat.com/show_bug.cgi?id=2528754
cve.org/CVERecord?id=CVE-2026-84947
nvd.nist.gov/vuln/detail/CVE-2026-84947
github.com/nodejs/undici/security/advisories/GHSA-2gqq-gqf2-x968
bugzilla.redhat.com/show_bug.cgi?id=2528735
cve.org/CVERecord?id=CVE-2026-84961
nvd.nist.gov/vuln/detail/CVE-2026-84961
github.com/nodejs/undici/security/advisories/GHSA-w293-vg96-wgc3
bugzilla.redhat.com/show_bug.cgi?id=2528747
cve.org/CVERecord?id=CVE-2026-85008
nvd.nist.gov/vuln/detail/CVE-2026-85008
github.com/nodejs/undici/security/advisories/GHSA-8436-99hf-9mmv
bugzilla.redhat.com/show_bug.cgi?id=2528712
cve.org/CVERecord?id=CVE-2026-85014
nvd.nist.gov/vuln/detail/CVE-2026-85014
github.com/nodejs/undici/security/advisories/GHSA-rx4f-c7p8-82vq
access.redhat.com/errata/RHSA-2026:66605
access.redhat.com/security/cve/CVE-2026-85024
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_66605.json
bugzilla.redhat.com/show_bug.cgi?id=2528707
cve.org/CVERecord?id=CVE-2026-85024
nvd.nist.gov/vuln/detail/CVE-2026-85024
github.com/nodejs/undici/security/advisories/GHSA-3wwx-pv8p-q78v
access.redhat.com/errata/RHSA-2026:71017
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_71017.json
ubuntu.com/security/CVE-2026-18540