Description
request-filtering-agent is an http(s).Agent implementation that blocks requests to Private/Reserved IP addresses. Prior to 3.2.1, RequestFilteringHttpAgent and RequestFilteringHttpsAgent synchronously threw from createConnection when rejecting a literal private-IP host such as 169.254.169.254 or 127.0.0.1. Because Node.js http.request and http.get expect connection failures to be delivered asynchronously, the throw bypassed req.on('error') and became an uncaught exception that could terminate the application process. Hostnames resolved through the asynchronous lookup path were not affected by this error-delivery asymmetry. This issue is fixed in version 3.2.1.
Published: 2026-09-22
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The request-filtering-agent intercepts HTTP(S) connections and blocks requests to private or reserved IP addresses. In versions prior to 3.2.1, the Agent performed a synchronous throw inside createConnection when rejecting a literal private‑IP host such as 169.254.169.254 or 127.0.0.1. Node.js http.request and http.get routines expect failures to be reported asynchronously via the request's error event; because the exception was thrown synchronously, it bypassed the error handler and terminated the process as an uncaught exception. This incomplete exception handling is identified by CWE‑248 and results in a denial‑of‑service condition for any application that uses the Agent and receives a request to a literal private‑IP host.

Affected Systems

The vulnerability affects the azu request-filtering-agent package in all releases before version 3.2.1. Applications that depend on this package to block private‑IP traffic are at risk. The issue is not present in releases 3.2.1 and later, which patch the synchronous throw behavior.

Risk and Exploitability

The CVSS score is 7.5, indicating high severity, while the EPSS score is not available and the vulnerability is not listed in CISA KEV. The likely attack vector is a remote attacker sending an HTTP request that, when processed by an application using request-filtering-agent, includes a literal private‑IP host. Because the exception is synchronous, the attack will immediately terminate the Node.js process, causing a denial‑of‑service. The vulnerability is exploitable as long as the application uses the affected Agent and does not perform additional validation or use an alternate error handling mechanism.

Generated by OpenCVE AI on September 22, 2026 at 20:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the request-filtering-agent package to version 3.2.1 or later, which removes the synchronous throw and restores proper asynchronous error handling.
  • If an upgrade cannot be performed immediately, add input validation to ensure that any host supplied to http.request or http.get is not a literal private‑IP address before invoking the Agent, thereby preventing the problematic throw from occurring.
  • Configure application monitoring to capture unhandled exception stack traces; detect and alert when the crash pattern associated with this agent mistake is logged, enabling rapid response before a permanent fix is applied.

Generated by OpenCVE AI on September 22, 2026 at 20:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-r3r9-wp5j-pq5g request-filtering-agent: Synchronous throw from createConnection() for literal private-IP hosts bypasses req.on('error'), crashing the Node.js process
History

Sat, 26 Sep 2026 01:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 22 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Azu
Azu request-filtering-agent
Vendors & Products Azu
Azu request-filtering-agent

Tue, 22 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Description request-filtering-agent is an http(s).Agent implementation that blocks requests to Private/Reserved IP addresses. Prior to 3.2.1, RequestFilteringHttpAgent and RequestFilteringHttpsAgent synchronously threw from createConnection when rejecting a literal private-IP host such as 169.254.169.254 or 127.0.0.1. Because Node.js http.request and http.get expect connection failures to be delivered asynchronously, the throw bypassed req.on('error') and became an uncaught exception that could terminate the application process. Hostnames resolved through the asynchronous lookup path were not affected by this error-delivery asymmetry. This issue is fixed in version 3.2.1.
Title request-filtering-agent: Synchronous throw from createConnection() for literal private-IP hosts bypasses req.on('error'), crashing the Node.js process
Weaknesses CWE-248
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Azu Request-filtering-agent
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-26T00:08:11.072Z

Reserved: 2026-07-14T22:48:09.781Z

Link: CVE-2026-62985

cve-icon Vulnrichment

Updated: 2026-09-26T00:08:07.291Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-22T20:17:04.443

Modified: 2026-09-26T01:17:01.530

Link: CVE-2026-62985

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-22T20:45:16Z

Weaknesses