CVE-2026-50221
OpenStack Swift vulnerable to authenticated server-side request forgery
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
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.
- Record
CVE-2026-50221- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - Weakness
- CWE-918
- Updated
- 2026-11-02
EUVDEUVD-2026-38537
5.3
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.
- Record
EUVD-2026-38537- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-h8rc-w822-q8vq
5.3
OpenStack Swift vulnerable to authenticated server-side request forgery
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.
- Record
GHSA-h8rc-w822-q8vq- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
NVD
5.3
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.
- Record
CVE-2026-50221- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2026-50221- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-50221
5.4
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.
- Record
DEBIAN-CVE-2026-50221- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVGHSA-h8rc-w822-q8vq
5.3
OpenStack Swift vulnerable to authenticated server-side request forgery
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.
- Record
GHSA-h8rc-w822-q8vq- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSVPYSEC-2026-4173
5.3
OpenStack Swift vulnerable to authenticated server-side request forgery
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.
- Record
PYSEC-2026-4173- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-50221
5.3
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.
- Record
UBUNTU-CVE-2026-50221- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:N - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
swiftPyPI |
before 2.37.2 | 2.37.2 |
swiftDebian:12 |
before 2.30.1-0+deb12u2, plus listed versions 2.30.0-42.30.1-0+deb12u1 |
2.30.1-0+deb12u2 |
swiftDebian:13 |
before 2.35.1-0+deb13u3, plus listed versions 2.35.0-42.35.1-0+deb13u12.35.1-0+deb13u2 |
2.35.1-0+deb13u3 |
swiftDebian:14 |
before 2.37.1-5, plus listed versions 2.35.0-42.35.1-12.35.1-22.36.0-12.36.0-2 Show 11 moreShow less2.36.0-32.36.0-42.36.0-52.36.0-62.36.0-72.36.0-82.37.0-12.37.1-12.37.1-22.37.1-32.37.1-4 |
2.37.1-5 |
swiftPyPI |
before 2.37.2, plus listed versions 1.0.22.15.22.17.12.19.12.19.2 Show 41 moreShow less2.20.02.21.02.21.12.22.02.23.02.23.12.23.22.23.32.24.02.25.02.25.12.25.22.26.02.27.02.28.02.28.12.29.02.29.12.29.22.30.02.30.12.31.02.31.12.32.02.32.12.33.02.33.12.34.02.34.12.34.22.35.02.35.12.35.22.35.32.35.42.36.02.36.12.36.22.36.32.37.02.37.1 |
2.37.2 |
swiftPyPI |
before 2.37.2, plus listed versions 1.0.22.15.22.17.12.19.12.19.2 Show 43 moreShow less2.20.02.21.02.21.12.22.02.23.02.23.12.23.22.23.32.24.02.25.02.25.12.25.22.26.02.27.02.28.02.28.12.29.02.29.12.29.22.30.02.30.12.31.02.31.12.32.02.32.12.33.02.33.12.34.02.34.12.34.22.35.02.35.12.35.22.35.32.35.42.35.52.36.02.36.12.36.22.36.32.36.42.37.02.37.1 |
2.37.2 |
swiftUbuntu:16.04:LTS |
All versions, plus listed versions 2.5.0-0ubuntu12.7.0-0ubuntu22.7.0-0ubuntu2.12.7.1-0ubuntu12.7.1-0ubuntu2 |
None known |
swiftUbuntu:18.04:LTS |
All versions, plus listed versions 2.15.1-0ubuntu32.16.0-0ubuntu12.16.0-0ubuntu22.17.0-0ubuntu12.17.1-0ubuntu1 |
None known |
swiftUbuntu:20.04:LTS |
All versions, plus listed versions 2.23.0-0ubuntu12.23.1-0ubuntu12.24.0~git2019121715.e890b0f0f-0ubuntu12.24.0-0ubuntu12.24.1~git2020032711.712bf3c9f-0ubuntu2 Show 5 moreShow less2.24.1~git2020041316.a495f1e32-0ubuntu12.25.0-0ubuntu0.20.04.12.25.1-0ubuntu12.25.2-0ubuntu12.25.2-0ubuntu1.1 |
None known |
swiftUbuntu:22.04:LTS |
All versions, plus listed versions 2.28.0+git2021090911.5d52afbe4-0ubuntu12.28.0+git2021120815.1859f2e16-0ubuntu12.28.0+git2021121320.876377435-0ubuntu12.28.0+git2022011309.32da73f5c-0ubuntu12.29.0+git2022030314.3ff3076ce-0ubuntu1 Show 4 moreShow less2.29.0+git2022030314.3ff3076ce-0ubuntu22.29.1-0ubuntu12.29.2-0ubuntu12.29.2-0ubuntu1.1 |
None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
swiftUbuntu:24.04:LTS |
All versions, plus listed versions 2.32.0+git2023090714.8ce961ed-0ubuntu12.32.0+git2024021508.3aba22fd-0ubuntu12.32.0+git2024030809.4135133a-0ubuntu12.33.0-0ubuntu12.33.0-0ubuntu1.1 |
None known |
swiftUbuntu:25.10 |
All versions, plus listed versions 2.35.0-0ubuntu12.35.0+git2025070714.1428eb3b5-0ubuntu12.36.0-0ubuntu12.36.0-0ubuntu1.1 |
None known |
swiftUbuntu:26.10 |
All versions, plus listed versions 2.37.1-0ubuntu22.38.0+git20260812.91.3064444-0ubuntu12.38.1-0ubuntu12.38.2-0ubuntu1 |
None known |
swiftUbuntu:26.04:LTS |
All versions, plus listed versions 2.36.0-0ubuntu12.37.0-0ubuntu12.37.1-0ubuntu22.37.1-0ubuntu2.1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-50221 is a medium vulnerability (CVSS 5.3) in Openstack Swift, published June 23, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in swift 2.37.2.
References
launchpad.net/bugs/2150261
openwall.com/lists/oss-security/2026/06/23/5
security.openstack.org/ossa/OSSA-2026-024.html
nvd.nist.gov/vuln/detail/CVE-2026-50221
github.com/openstack/swift/commit/75b050fdb1d1a6096f3765faa3b2059e28065d13
opendev.org/openstack/swift/commit/75b050fdb1d1a6096f3765faa3b2059e28065d13
Show 8 moreShow less
github.com/advisories/GHSA-h8rc-w822-q8vq
opendev.org/openstack/swift
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50221.json
security-tracker.debian.org/tracker/CVE-2026-50221
pypi.org/project/swift
ubuntu.com/security/CVE-2026-50221
cve.org/CVERecord?id=CVE-2026-50221
bugs.launchpad.net/swift/+bug/2150261