Vulnerability · Published May 12, 2026 · Assigned by GitHub_M
CVE-2026-43929ssrfcheck: Server-Side Request Forgery (SSRF) and Incomplete List of Disallowed Inputs
High 8.2
In plain English
A high-severity server-side request forgery in ssrfcheck from felippe-regazio. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 19% of all known vulnerabilities).
Official description
ssrfcheck is a library that checks if a string contains a potential SSRF attack. In 1.3.0 and earlier, ssrfcheck fails to block Server-Side Request Forgery attacks when the target private IP address is encoded as an IPv4-mapped IPv6 address (e.g. http://[::ffff:127.0.0.1]/). The WHATWG URL parser built into Node.js silently normalizes the IPv4 notation inside the brackets to compressed hex form ([::ffff:7f00:1]) before the library's private-IP regex ever runs. The regex was written to match dot-notation only and therefore never matches any real input — all seven IANA private IPv4 ranges, including the AWS/GCP/Azure metadata address 169.254.169.254, are bypassed. Any application using isSSRFSafeURL() to guard HTTP requests made with user-supplied URLs is fully exposed to SSRF.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | ssrfcheck | no fix listed | GHSA-j4rj-2jr5-m439 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| felippe-regazio | ssrfcheck | <= 1.3.0 |
Weakness: CWE-184, CWE-918 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N