CVE-2025-57814 Overview
CVE-2025-57814 is a Server-Side Request Forgery (SSRF) filter bypass in the request-filtering-agent Node.js library. The library provides an http(s).Agent implementation designed to block requests to private and reserved IP address ranges. Versions 1.x.x and earlier fail to filter HTTPS requests directed at 127.0.0.1, while HTTP requests to the same destination are correctly blocked. Attackers who supply user-controlled URLs to a vulnerable application can reach internal HTTPS services on localhost. The maintainer released request-filtering-agent version 2.0.0 to address the flaw.
Critical Impact
Attackers can bypass SSRF protections to reach internal HTTPS services on 127.0.0.1, exposing localhost-only APIs and administrative interfaces that rely solely on network-level restrictions.
Affected Products
- request-filtering-agent versions 1.x.x and earlier
- Node.js applications using the library as SSRF protection for outbound HTTP(S) requests
- Services accepting user-controlled URLs that route through the vulnerable agent
Discovery Timeline
- 2025-08-25 - CVE-2025-57814 published to the National Vulnerability Database (NVD)
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-57814
Vulnerability Analysis
The request-filtering-agent package implements a custom Node.js HTTP agent that inspects request destinations and blocks connections to private, loopback, and reserved IP ranges. This defense pattern is a common SSRF mitigation for applications that fetch user-supplied URLs. The vulnerability [CWE-918] arises because the filtering logic in versions 1.x.x and earlier applies inconsistently across protocols. HTTP requests to 127.0.0.1 trigger the block correctly, but the equivalent HTTPS request bypasses the check and proceeds to the destination.
An attacker abusing this gap can enumerate and interact with internal HTTPS services bound to loopback. This includes local administrative dashboards, metrics endpoints, or metadata services that assume localhost connections originate from trusted processes. The impact is amplified in applications that expose URL-fetching functionality such as webhook validators, link preview generators, or PDF renderers.
Root Cause
The root cause is protocol-inconsistent filtering. The agent's IP validation path was applied to plain HTTP connections but not correctly enforced on the TLS connection path used by HTTPS. As a result, the same destination IP 127.0.0.1 produced different security decisions depending on the URL scheme.
Attack Vector
Exploitation requires an application that accepts user-controlled URLs and dispatches them through the vulnerable agent. An attacker submits an https://127.0.0.1:<port>/... URL targeting an internal service. The agent fails to reject the request, and the TLS connection is established against the localhost service. No authentication, privileges, or user interaction are required at the network layer. See the GitHub Security Advisory GHSA-pw25-c82r-75mm and the proof-of-concept repository for reproduction details.
Detection Methods for CVE-2025-57814
Indicators of Compromise
- Outbound HTTPS requests from application servers to https://127.0.0.1 or https://localhost observed in proxy or eBPF network telemetry
- Unexpected TLS handshakes on loopback interfaces targeting internal-only service ports
- Application logs showing user-submitted URLs with https scheme resolving to loopback or link-local addresses
Detection Strategies
- Audit dependency manifests (package.json, package-lock.json, yarn.lock) for request-filtering-agent at versions below 2.0.0
- Instrument URL-fetching code paths to log the resolved destination IP and scheme prior to dispatch
- Add integration tests that assert HTTPS requests to 127.0.0.1 and other reserved ranges are rejected
Monitoring Recommendations
- Alert on outbound connections from web application processes to loopback or RFC 1918 addresses over TLS
- Correlate URL parameters in HTTP access logs with subsequent egress attempts to internal ranges
- Monitor for anomalous access patterns against localhost-bound administrative services
How to Mitigate CVE-2025-57814
Immediate Actions Required
- Upgrade request-filtering-agent to version 2.0.0 or later in all Node.js services
- Inventory applications that accept user-supplied URLs and confirm the filtering agent is applied to both HTTP and HTTPS clients
- Review recent application logs for HTTPS requests targeting loopback or private IP ranges
Patch Information
The vulnerability is fixed in request-filtering-agent version 2.0.0. Users should upgrade using npm install request-filtering-agent@^2.0.0 or the equivalent command for their package manager. Refer to the GitHub Security Advisory GHSA-pw25-c82r-75mm for release notes.
Workarounds
- Enforce an allowlist of permitted destination hostnames or IP ranges before dispatching user-supplied URLs
- Route outbound requests through an egress proxy that blocks loopback and private address ranges independently of the application
- Bind internal HTTPS services to non-loopback interfaces protected by authentication rather than relying on network isolation alone
# Upgrade to the patched version
npm install request-filtering-agent@^2.0.0
# Verify installed version
npm ls request-filtering-agent
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

