Skip to main content

Node.js CVE-2026-48931

| EUVDEUVD-2026-38344 LOW
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
3.7
CVSS 3.1 · NVD

Severity by source

Vendor (CNA) PRIMARY
LOW
qualitative
NVD
3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI
4.8 MEDIUM

AC:H for inherent race condition timing requirement; C:L added over official C:N to reflect 'Information Disclosure' tag - misrouted responses may leak sensitive data.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (CNA).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

4
Source Code Evidence Fetched
Jun 22, 2026 - 20:24 vuln.today
Analysis Generated
Jun 22, 2026 - 20:24 vuln.today
CVSS changed
Jun 22, 2026 - 20:24 NVD
3.7 (LOW)
CVE Published
Jun 18, 2026 - 04:37 github-releases
UNKNOWN (no severity yet)

Description PRE-NVD

Disclosed via GitHub release of nodejs/node. NVD scoring and full description are pending.

AnalysisAI

Response queue poisoning in Node.js http.Agent allows network-accessible attackers to corrupt the HTTP keep-alive connection pool via a TOCTOU race condition, causing responses to be delivered to the wrong request handler. Affected is Node.js v26.x prior to v26.3.1, as disclosed in the June 2026 security release. Exploitation requires high attack complexity due to the race window, and no public exploit has been identified at time of analysis; this is rated Low severity (CVSS 3.7) by the Node.js team.

Technical ContextAI

The vulnerability resides in Node.js's built-in http.Agent, which manages HTTP/1.1 keep-alive connection pooling and request multiplexing over persistent TCP sockets. CWE-367 (Time-of-check Time-of-use / TOCTOU race condition) is the root cause: the agent checks the state of the response queue at one point in time, but by the time it acts on that state, concurrent request activity has altered the queue, allowing a response frame to be dispatched to the wrong pending request callback. This is structurally similar to HTTP response desynchronization but arises from an internal race rather than protocol-level smuggling. The fix is attributed to Matteo Collina and was shipped in llhttp 9.4.2 (bundled in v26.3.1), as evidenced by the concurrent dep update commit 110840f2c7.

RemediationAI

Upgrade to Node.js v26.3.1 or later, which contains the patched http.Agent response queue logic and the updated llhttp 9.4.2 dependency. The vendor advisory is at https://nodejs.org/en/blog/vulnerability/june-2026-security-releases and the release notes at https://github.com/nodejs/node/releases/tag/v26.3.1. If an immediate upgrade is not feasible, a targeted compensating control is to disable HTTP keep-alive in http.Agent by setting keepAlive: false when constructing agent instances - this eliminates connection reuse and closes the race window entirely, at the cost of one TCP handshake per request (latency and throughput regression under high request volumes). Alternatively, limiting concurrency of outbound HTTP requests sharing a single Agent instance reduces the probability of the race condition being triggered. Generic network-layer controls will not mitigate this issue as it is an internal Node.js runtime race.

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

CVE-2022-3602 HIGH
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

CVE-2014-7192 CRITICAL POC
10.0 Dec 11

Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat

CVE-2015-3194 HIGH
7.5 Dec 06

crypto/rsa/rsa_ameth.c in OpenSSL 1.0.1 before 1.0.1q and 1.0.2 before 1.0.2e allows remote attackers to cause a denial

CVE-2016-2105 HIGH
7.5 May 05

Integer overflow in the EVP_EncodeUpdate function in crypto/evp/encode.c in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2

CVE-2022-3786 HIGH POC
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

CVE-2024-3566 CRITICAL POC
9.8 Apr 10

Command injection via Windows CreateProcess argument parsing affects multiple language runtimes and tooling (Node.js, PH

CVE-2022-0778 HIGH POC
7.5 Mar 15

The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can cause it to loop forever for n

Share

CVE-2026-48931 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy