---
id: CVE-2026-105481
title: >-
  nodejs: nodejs: Response desynchronization via improper HTTP keep-alive
  connection reuse (CVE-2026-105481)
summary: >-
  A flaw was found in Node.js. The HTTP Agent keep-alive connection reuse logic
  can cause a client to treat data that arrived on an idle socket before a new
  request was sent as the response to that request. The guard that destroys idle
  keep-…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N'
cvssSource: vendor
cwe: CWE-367
vendor: Red Hat
product: Red Hat Enterprise Linux 8
affected:
  - enterprise_linux 10
  - enterprise_linux 8
  - enterprise_linux 9
published: '2026-10-23'
updated: '2026-10-26'
sourceUpdated: '2026-10-26T11:03:07+00:00'
source: CSAF
sourceUrl: 'https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-105481.json'
references:
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-105481.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-105481'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2560019'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-105481'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-105481'
  - url: 'https://nodejs.org/en/blog/vulnerability/october-2026-security-releases'
tags:
  - csaf
  - vex
  - red-hat
  - exploit-available
  - cve.org
epss: 0.00306
epssPercentile: 0.23253
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/CompleTetech-Security/node-cve-2026-105481-check'
  checkedAt: '2026-10-27T16:54:26.091Z'
exploitAvailable: true
ingestedAt: '2026-10-23T16:31:11.318Z'
---

## Overview

A flaw was found in Node.js. The HTTP Agent keep-alive connection reuse logic can cause a client to treat data that arrived on an idle socket before a new request was sent as the response to that request. 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 is already buffered when the socket is assigned to a new request—for example because the event loop was busy with synchronous work—the guard is cleared without observing the data and the bytes are parsed as the response to the new request. This is an incomplete fix of CVE-2026-48931. A malicious or compromised peer that can write an early response on a reused connection may cause the client to accept unintended response content, affecting integrity and potentially confidentiality of application data.

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9 · updated 2026-10-26 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-105481.json)

**nodejs: nodejs: Response desynchronization via improper HTTP keep-alive connection reuse** — rated Moderate by Red Hat. Released 2026-10-23, updated 2026-10-26.

Affected:

- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9

No fix planned:

- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9

Not affected:

- Red Hat Hardened Images

## Remediation

Fix deferred

Workarounds / mitigations:

- Restrict Node.js clients so outbound HTTP/1.1 keep-alive pools only reach trusted backends.
Where operationally feasible, disable connection reuse to untrusted hosts (for example short-lived agents or agents with keepAlive disabled).
Prefer authenticated TLS backends and avoid sending security-sensitive requests over keep-alive pools shared with untrusted peers.
