---
id: CVE-2026-42175
aliases:
  - GHSA-vh75-fwv3-pqrh
  - PYSEC-2026-3050
title: requests-hardened is Vulnerable to Server-Side Request Forgery
summary: requests-hardened is Vulnerable to Server-Side Request Forgery
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N'
vendor: requests-hardened
product: requests-hardened
ecosystem: pip
affected:
  - requests-hardened < 1.2.1
patched:
  - requests-hardened 1.2.1
published: '2026-05-05'
updated: '2026-07-13'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-vh75-fwv3-pqrh'
references:
  - url: >-
      https://github.com/saleor/requests-hardened/security/advisories/GHSA-vh75-fwv3-pqrh
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-42175'
  - url: >-
      https://github.com/saleor/requests-hardened/commit/a266b3958bb142bca515b3c230fdea19fbda327c
  - url: >-
      https://github.com/saleor/requests-hardened/commit/b7403f88d3b3689e57435b75b51691a160aaeef5
  - url: 'https://github.com/saleor/requests-hardened'
  - url: 'https://github.com/saleor/requests-hardened/releases/tag/v1.2.1'
tags:
  - osv
  - pip
epss: 0.00393
epssPercentile: 0.30675
ingestedAt: '2026-07-13T18:58:03.570Z'
---

## Overview

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

- https://github.com/python/cpython/issues/119812
- https://github.com/saleor/requests-hardened/commit/b7403f88d3b3689e57435b75b51691a160aaeef5 - the fix itself
- https://github.com/saleor/requests-hardened/commit/a266b3958bb142bca515b3c230fdea19fbda327c - follow up, adding additional support for outdated Python versions (`3.11.9` and `3.10.11` instead of only `3.11.15` and `3.10.20`)
- https://github.com/saleor/requests-hardened/releases/tag/v1.2.1

## Affected packages

- `requests-hardened < 1.2.1`

## Remediation

Upgrade to a patched release:

- `requests-hardened 1.2.1`
