Cloudanix VulnDB

CVE-2026-48931

Low · 3.7

CVSS

3.7

EPSS

0.3%

Published

Jun 22, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

Some Node.js applications could be tricked into trusting a fake web response before they actually send the request.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
High
Impact
Data Tampering
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw is in Node.js HTTP Agent client-side response handling. Under specific timing and connection-state conditions, a remote HTTP peer can send a response before the Node.js client has actually sent its request, and the client may incorrectly accept that premature response as valid for the pending request. This creates HTTP response confusion: application logic may process attacker-controlled status codes, headers, or body content as though they came from the intended request. The expected impact is limited integrity compromise of client-side HTTP interactions; the published scoring does not indicate direct confidentiality loss or denial of service.

Why it matters to the business

Applications built on affected Node.js 22, 24, or 26 runtimes may make business decisions based on forged or mismatched HTTP responses when communicating with malicious, compromised, or attacker-influenced HTTP services. This could affect workflows such as API integrations, webhook consumers, metadata fetchers, package or artifact retrieval, service-to-service calls, or automation that trusts outbound HTTP responses. The CVSS and EPSS values are low and there is no known KEV listing or mature public exploit signal, but the issue is still relevant because Node.js is widely deployed and HTTP client behavior is foundational to many applications.

How an attack unfolds

An attacker must be able to influence the HTTP peer that a Node.js application connects to, such as by controlling a destination service, compromising an upstream service, influencing DNS or routing in a suitable position, or operating a proxy used by the application. The attacker prepares a server or intermediary that sends an HTTP response before the Node.js client has transmitted the corresponding request. Due to improper validation of the HTTP Agent state, the Node.js client may associate that early response with a later request and pass it to application code as legitimate. The application may then parse and trust attacker-controlled response metadata or content, potentially causing incorrect authorization decisions, poisoned cached data, false success or failure handling, or use of malicious returned content. Exploitation is likely timing- and topology-dependent, consistent with the high attack complexity and currently low observed exploitation probability.

How to fix it

Upgrade affected Node.js runtimes to the vendor-provided patched releases for the Node.js 22, 24, and 26 release lines as soon as fixed versions are available through official Node.js channels or operating-system/package-maintainer updates. Because no exact fixed versions were provided in the input, track the official Node.js security release notes for CVE-2026-48931 and standardize on patched runtime baselines across servers, containers, developer images, CI runners, and serverless/runtime configurations. As interim risk reduction, avoid making security-sensitive decisions solely from unauthenticated HTTP responses, prefer HTTPS with strict certificate validation, restrict outbound destinations, avoid untrusted proxies, isolate HTTP Agents by origin/security boundary, and consider disabling connection reuse where operationally feasible until patched. Rebuild and redeploy applications after updating the Node.js runtime, including base container images and embedded runtime distributions.

How to confirm the fix worked

Confirm exposure by inventorying runtime versions with commands such as `node -v`, package-manager queries, container image scans, SBOMs, and CI/build manifests, then map results to the patched Node.js releases once published. Validate remediation by confirming all deployed workloads use patched Node.js 22, 24, or 26 builds, including transitive base images and platform-provided runtimes. For functional validation, run a controlled regression test using a test HTTP server that sends a response before receiving a request; patched clients should reject, close, or otherwise not treat the premature response as the valid response to the request. Review outbound HTTP client integration tests for cases where unexpected status codes, headers, or bodies are trusted without independent validation.

Typical attack path

  1. Identify a Node.js application using affected Node.js 22, 24, or 26 runtime lines for outbound HTTP requests.
  2. Gain influence over an HTTP endpoint, proxy, network path, or service destination that the application contacts.
  3. Establish or intercept a client connection where the HTTP Agent is expected to send a request.
  4. Send a crafted HTTP response before the client transmits the associated request.
  5. Rely on the vulnerable client behavior to accept the premature response as valid.
  6. Cause the application to act on attacker-controlled response status, headers, or body content.

How to detect it

There is no universal on-host artifact proving exploitation because the issue occurs inside normal outbound HTTP client handling and may only appear as a logically incorrect response. Detection should focus on application, proxy, egress, and upstream service logs. Look for outbound HTTP transactions where a response appears before request bytes are logged, request duration is implausibly short, request body upload size is zero when a body was expected, or response metadata is inconsistent with the requested API operation. Correlate application logs with reverse-proxy, egress proxy, service mesh, packet capture, and destination server logs to identify mismatched request/response ordering. Investigate unexpected successful API responses, anomalous redirects, unusual headers, schema validation failures, cache entries populated from suspicious responses, or business events triggered by responses from untrusted or recently changed endpoints. If TLS is used correctly, prioritize investigation of malicious or compromised destination services and configured proxies; if plaintext HTTP is used, also investigate network-path manipulation.

What your security team should do

  • Inventory all production, staging, CI, container, and serverless environments running Node.js 22, 24, or 26.
  • Track official Node.js security advisories and package-maintainer updates for the fixed releases, then patch and redeploy affected runtimes.
  • Prioritize internet-facing services, services that call untrusted third-party APIs, automation that downloads artifacts, and applications that make authorization or financial decisions from HTTP responses.
  • Temporarily restrict outbound HTTP destinations and untrusted proxies for sensitive applications until patched.
  • Add or strengthen application-level validation of response origin, schema, status handling, and cryptographic integrity where applicable.
  • Search logs for anomalous outbound HTTP behavior, especially successful responses with missing request metadata, unusual timing, unexpected headers, or responses from recently added or untrusted endpoints.
  • After patching, rebuild base images and redeploy workloads rather than only updating local development runtimes.

The record

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**.

Affected packages

Ecosystem Package Introduced Fixed
openSUSE:Leap 16.0 nodejs22 0 22.23.0-160000.1.1
openSUSE:Tumbleweed nodejs24 0 24.17.0-1.1
openSUSE:Tumbleweed nodejs26 0 26.3.1-1.1

Related vulnerabilities