All vulnerabilities
CVE-2026-50221GHSA-h8rc-w822-q8vqPYSEC-2026-4173

OpenStack Swift vulnerable to authenticated server-side request forgery

OpenStack swiftpipContainers & cloud
CVSS
5.3Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.22%Chance of exploitation activity in the next 30 days, higher than 11% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2.37.2Also 2.35.3, 2.36.2GitHub
Published23 Jun 2026Updated 1 Oct 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In OpenStack Swift before 2.37.2, proxy-server does not strip internal update headers (X-Container-Host, X-Container-Device, X-Delete-At-Host, X-Delete-At-Device) from client requests before forwarding them to object-servers. An authenticated user with write access can inject these headers to redirect container update requests to an attacker-controlled server, enabling server-side request forgery. The SSRF requests expose internal cluster metadata including storage policy indexes, partition mappings, device names, and when at rest encryption is enabled, cipher text and initialization vectors for the container-level encryption key. The attacker can also cause "ghost listings" in arbitrary containers via the shard-range redirect mechanism.

Text from CVE List

Affected versions 51

  • swift, pip< 2.37.2GitHub
  • Swiftaffected: 2.0.0 before 2.35.3CVE List
  • Swiftaffected: 2.36.0 before 2.36.2CVE List
  • Swiftaffected: 2.37.0 before 2.37.2CVE List
  • swift, PyPIfrom first release, fixed in 2.37.2OSV
  • swift, PyPI1.0.2OSV
  • swift, PyPI2.15.2OSV
  • swift, PyPI2.17.1OSV
  • swift, PyPI2.19.1OSV
  • swift, PyPI2.19.2OSV
  • swift, PyPI2.20.0OSV
  • swift, PyPI2.21.0OSV
  • swift, PyPI2.21.1OSV
  • swift, PyPI2.22.0OSV
  • swift, PyPI2.23.0OSV
  • swift, PyPI2.23.1OSV
  • swift, PyPI2.23.2OSV
  • swift, PyPI2.23.3OSV
  • swift, PyPI2.24.0OSV
  • swift, PyPI2.25.0OSV
  • swift, PyPI2.25.1OSV
  • swift, PyPI2.25.2OSV
  • swift, PyPI2.26.0OSV
  • swift, PyPI2.27.0OSV
  • swift, PyPI2.28.0OSV
  • swift, PyPI2.28.1OSV
  • swift, PyPI2.29.0OSV
  • swift, PyPI2.29.1OSV
  • swift, PyPI2.29.2OSV
  • swift, PyPI2.30.0OSV
  • swift, PyPI2.30.1OSV
  • swift, PyPI2.31.0OSV
  • swift, PyPI2.31.1OSV
  • swift, PyPI2.32.0OSV
  • swift, PyPI2.32.1OSV
  • swift, PyPI2.33.0OSV
  • swift, PyPI2.33.1OSV
  • swift, PyPI2.34.0OSV
  • swift, PyPI2.34.1OSV
  • swift, PyPI2.34.2OSV
  • swift, PyPI2.35.0OSV
  • swift, PyPI2.35.1OSV
  • swift, PyPI2.35.2OSV
  • swift, PyPI2.35.3OSV
  • swift, PyPI2.35.4OSV
  • swift, PyPI2.36.0OSV
  • swift, PyPI2.36.1OSV
  • swift, PyPI2.36.2OSV
  • swift, PyPI2.36.3OSV
  • swift, PyPI2.37.0OSV
  • swift, PyPI2.37.1OSV

References 7