GHSA-pw25-c82r-75mm
GHSA-pw25-c82r-75mm is a Server-Side Request Forgery (SSRF) vulnerability in request-filtering-agent. O3 Security confirms whether GHSA-pw25-c82r-75mm is actually reachable in your code before you act, and blocks exploitation at runtime until you patch.
request-filtering-agent SSRF Bypass via HTTPS Requests to 127.0.0.1
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-pw25-c82r-75mm.
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
request-filtering-agentnpmDescription
request-filtering-agent versions 1.x.x and earlier contain a vulnerability where HTTPS requests to 127.0.0.1 bypass IP address filtering, while HTTP requests are correctly blocked.
Impact:
Vulnerable patterns (requests that should be blocked but are allowed):
- https://127.0.0.1:443/api
- https://127.0.0.1:8443/admin
- Any HTTPS request using direct IP address
https://127.0.0.1
This vulnerability primarily affects services using self-signed certificates on 127.0.0.1.
Not affected (correctly blocked in all versions):
- http://127.0.0.1:80/api - HTTP requests are properly blocked
- https://localhost:443/api - Domain-based requests trigger DNS lookup and are blocked
- http://localhost:80/api - Domain-based HTTP requests are blocked
- Requests to other private IPs like 192.168.x.x, 10.x.x.x, 172.16.x.x
This allows attackers to potentially access internal HTTPS services running on localhost, bypassing the library's SSRF protection. The vulnerability is particularly dangerous when the application accepts user-controlled URLs and internal services are only protected by network-level restrictions.
Fixed in 2.0.0
This vulnerability has been fixed in request-filtering-agent version 2.0.0. Users should upgrade to version 2.0.0 or later.
Root Cause:The HTTPS agent fails to validate direct IP addresses like https://127.0.0.1 during TLS connection setup, allowing them to bypass the security filter.
Details: https://github.com/azu/request-filtering-agent-https127-test
Thanks Luca
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | request-filtering-agent | all versions | 2.0.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for request-filtering-agent. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Fix
Update request-filtering-agent to 2.0.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-pw25-c82r-75mm is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether GHSA-pw25-c82r-75mm is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-pw25-c82r-75mm. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-pw25-c82r-75mm in your dependencies?
O3 detects GHSA-pw25-c82r-75mm across npm dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.