The vulnerability lies in an incomplete IP address denylist within the ssrfcheck library, which is intended to prevent Server-Side Request Forgery (SSRF) attacks. The core of the issue is in the src/is-private-ip.js file, where a constant array PRIVATE_CIDRS defines the IP ranges that should be blocked. Before the patch, this list was missing the 224.0.0.0/4 multicast IP range.
The function privIp4(ip) is directly responsible for checking IPv4 addresses against this list. It iterates through each CIDR in PRIVATE_CIDRS and checks if the input ip falls within that range. Because the multicast range was absent, privIp4 would fail to identify an IP like 224.0.0.1 as a reserved address, allowing a request to it to proceed.
The primary entry point for this functionality is the exported function isPrivateIP(ip, version), which calls privIp4 for IPv4 addresses. Therefore, any application using isPrivateIP to validate user-supplied URLs or IPs was vulnerable.
The patch, identified by commit 9507b49fd764f2a1a1d1e3b9ee577b7545e6950e, rectifies this by simply adding '224.0.0.0/4' to the PRIVATE_CIDRS array. This ensures that the privIp4 function, and by extension isPrivateIP, will now correctly identify and block requests to these multicast addresses. A runtime profile of an exploit would show calls passing through isPrivateIP to privIp4.