CVE-2026-48931: Node.js HTTP Agent Race Condition Allows Premature Response Acceptance
Node.js has a flaw in how its HTTP Agent handles client-server communication. The vulnerability allows a client to incorrectly accept a server response that arrives before the client has actually sent its request. While the window for exploitation is narrow and requires specific timing conditions, it represents a logic error in the HTTP protocol implementation that could lead to subtle application behavior issues. This affects the three currently supported Node.js release lines.
Source data · NVD / CISA · public domain
- 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
- Weaknesses (CWE)
- CWE-367
- Affected products
- 3 configuration(s)
- Published / Modified
- 2026-06-22 / 2026-07-03
NVD description (verbatim)
A flaw in Node.js HTTP Agent can cause a client to accept as valid a response that is send before the client has sent the request. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-48931 is a race condition (CWE-367) in the Node.js HTTP Agent that permits premature response acceptance. The vulnerability occurs when a server sends a response before the client's HTTP request has been transmitted. The HTTP protocol strictly enforces request-response ordering; this flaw breaks that contract by allowing the Agent to validate and process responses out of sequence. The defect is present in Node.js 22, 24, and 26 across all support tiers.
Business impact
Organizations using Node.js for HTTP client operations face potential data integrity concerns. An application might process incorrect response data if a man-in-the-middle or colluding server exploits the timing window, leading to logic errors, incorrect business decisions, or state corruption. The practical impact depends on application sensitivity—financial transactions, authentication flows, or data synchronization operations carry higher risk. The low CVSS score reflects the difficult preconditions required, but applications with high request frequency or latency sensitivity may warrant closer scrutiny.
Affected systems
All active Node.js release lines are affected: Node.js 22.x, Node.js 24.x, and Node.js 26.x. If your organization runs any of these versions in production for HTTP client functionality, your environment is in scope. Inactive or EOL versions are not explicitly mentioned in the advisory but should be evaluated based on your internal support policy.
Exploitability
Exploitation requires tight coordination: a network-positioned attacker must send a crafted response and ensure it arrives before the legitimate client request is transmitted. The CVSS score of 3.7 (LOW) with AC:H (high attack complexity) and UI:N (no user interaction) reflects this constraint. While the vulnerability is real, actual exploitation in the wild remains unlikely unless an attacker controls network infrastructure or a server endpoint. The impact is integrity-focused (I:L), not confidentiality or availability.
Remediation
Apply security patches from the Node.js project for your active release line. Contact the Node.js security team or check the official Node.js website for version-specific patch releases that address this HTTP Agent flaw. Patching is the authoritative remediation; no known workarounds are documented.
Patch guidance
Verify the latest security releases for Node.js 22, 24, and 26 from nodejs.org or the official Node.js security advisory. Apply the patched version that corresponds to your deployment. If you operate a supply chain or provide Node.js distributions, audit your release pipelines to ensure patched versions are available to downstream consumers. Test patched versions in a staging environment before production rollout.
Detection guidance
Monitor HTTP client logs for unexpected responses that correlate with request timing anomalies—specifically, response events logged before their corresponding request events. Intrusion detection systems with HTTP protocol analysis may flag out-of-sequence message pairs. Code review of critical HTTP client interactions can surface architectural assumptions about request-response ordering that could be violated by this flaw.
Why prioritize this
Although rated LOW severity with high attack complexity, this vulnerability affects all three supported Node.js release lines simultaneously. Organizations should prioritize patching as part of their regular maintenance cycle rather than as an emergency, but defer to your risk tolerance if HTTP client operations handle sensitive data or run on exposed endpoints. The fixed timeline for each release line is standard; plan patching around your Node.js version support strategy.
Risk score, explained
CVSS 3.7 (LOW) reflects a narrow attack surface and difficult preconditions. The integrity impact is limited (L), and there is no confidentiality or availability loss. Attack vector is network-based but requires high complexity and precise timing. The score is appropriate for a protocol-level logic flaw that is exploitable in theory but impractical without significant attacker control.
Frequently asked questions
Can my application be silently compromised by this vulnerability?
Only if your Node.js HTTP client receives a crafted, out-of-sequence response and your application logic does not validate response context or request-response correlation. Applications that track request IDs, nonce values, or other correlation headers are naturally more resilient. Standard HTTP client libraries typically include safeguards, but bespoke implementations warrant review.
Do I need to patch immediately, or can this wait for the next scheduled maintenance window?
This is a LOW-severity flaw with high attack complexity. Patching during your next regular Node.js maintenance window is appropriate for most organizations. Prioritize immediately only if you operate Node.js HTTP clients on internet-facing endpoints or handle highly sensitive transactions.
Which Node.js versions are affected?
All currently supported release lines: Node.js 22, 24, and 26. If you run older, out-of-support versions, this specific flaw may or may not be present; consult the Node.js security advisory or your vendor support team.
Is there a workaround if I cannot patch immediately?
No documented workaround exists. The fix requires a patch from the Node.js project. Consider deploying additional request-response correlation validation at the application layer as a temporary mitigating control, but this is not a substitute for patching.
This analysis is provided for informational purposes based on the publicly disclosed CVE data and the Node.js security advisory as of the publication date. Security landscapes evolve; verify all patch versions and compatibility against the official Node.js release notes before deploying. This content does not constitute legal or compliance advice. Organizations must conduct their own risk assessment tailored to their environment, threat model, and application sensitivity. For the most current information, consult nodejs.org and your vendor support channels. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2025-59610MEDIUMQualcomm Memory Corruption via IOCTL API Version Mismatch – Patch Guidance
- CVE-2025-64390HIGHPlayStation 4 BD-J Sandbox Escape Privilege Escalation (Firmware 13.00-13.02)
- CVE-2026-20454MEDIUMMediaTek geniezone Race Condition Privilege Escalation (CVSS 6.4)
- CVE-2026-24065HIGHWaves Central macOS Privilege Escalation Race Condition
- CVE-2026-24067HIGHSlate Digital Connect macOS Privilege Escalation via XPC PID-Based TOCTOU Race Condition
- CVE-2026-25260HIGHQualcomm Firmware Memory Corruption Vulnerability
- CVE-2026-41045HIGHTOCTOU Privilege Escalation in Presire qSnapper Before 1.3.3
- CVE-2026-41568MEDIUMDocker & Moby Race Condition in docker cp Mount Setup