CVE-2026-105481
Reported by hackerone · Published October 23, 2026
A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was sent before the client has sent the request. This is an incomplete fix of CVE-2026-48931. The guard that destroys idle keep-alive sockets when unexpected data arrives only runs when the event loop polls for I/O. If an unsolicited response has already reached the socket but has not been read yet when the socket is handed to a new request, for example because the event loop was busy with synchronous work, the guard is removed without seeing it and the data is parsed as the response to the new request. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| nodejs | node | 22.23.3, 24.22.0, 26.12.0 |
| alpine | nodejs | 0, 0 |
| nodejs | node | 26.12.0, 22.23.3, 24.22.0 |
| wolfi | nodejs-26 | 0 |
| wolfi | nodejs-22 | 0 |
| alpine | nodejs-current | 0 |
| chainguard | nodejs-22 | 0 |
| wolfi | nodejs-24 | 0 |
Timeline
- CVE Published
- Oct 23, 2026 PoC Published
- Oct 24, 2026 EPSS Score
- Oct 25, 2026 EPSS Score
- Oct 26, 2026 EPSS Score
- Oct 27, 2026 Security Advisory
- Oct 29, 2026 EPSS Score
- Oct 30, 2026 Distribution Patch
- Oct 30, 2026 Security Advisory
- Nov 2, 2026 Distribution Patch
- Nov 2, 2026 Distribution Patch
- Nov 2, 2026 Security Advisory