Server-side request forgery (SSRF) In requests-hardened

Description

requests-hardened is Vulnerable to Server-Side Request Forgery The SSRF protection in requests-hardened prior to version 1.2.1 fails to block IP addresses within the RFC 6598 Shared Address Space (100.64.0.0/10). An attacker who can supply arbitrary URLs to requests-hardened could exploit this gap to access internal services hosted within 100.64.0.0/10. This is for example relevant in environments such as AWS EKS where 100.64.0.0/10 is commonly used as the default pod CIDR.

The impact is environment-dependent, deployments that utilize the affected CIDR range for internal networking are exposed to SSRF bypass, while others may not be affected.

The issue is resolved in version 1.2.1 by extending the IP filtering logic to explicitly block the RFC 6598 range in addition to standard private addresses, as well as blocking all other reserved addresses (such as multicast) to prevent the re-occurrence of similar issues.

Version 1.2.1 is now blocking the following CIDRs:

    192.88.99.0/24 - 6to4 relay anycast

    100.64.0.0/10 - CG-NAT

    5f00::/16 - IPv6 Segment Routing

    64:ff9b::/96 - used for IPv6 & IPv4 translation (NAT64)

    2001:20::/28 - ORCHIDv2 (overlay identifiers)

    224.0.0.0/4 - multicast

    ff00::/8 - multicast

Resources

Mitigation

Update Impact

Minimal update. May introduce new vulnerabilities or breaking changes.

Ecosystem
Package
Affected version
Patched versions