swift — security advisory
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.
- Products
- swift
- Affected versions
- 2.30.0-4, 2.30.1-0+deb12u1, 2.35.0-4, 2.35.1-0+deb13u1, 2.35.1-0+deb13u2, 2.35.1-1, 2.35.1-2, 2.36.0-1, 2.36.0-2, 2.36.0-3, 2.36.0-4, 2.36.0-5, 2.36.0-6, 2.36.0-7, 2.36.0-8, 2.37.0-1, 2.37.1-1, 2.37.1-2, 2.37.1-3, 2.37.1-4
- Fixed versions
- 2.30.1-0+deb12u2, 2.35.1-0+deb13u3, 2.37.1-5
- CVEs
- CVE-2026-50221
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 12:17 UTC · Revision 2
Source evidence
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.
osv:DEBIAN-CVE-2026-50221
swift
Fixed versions: 2.30.1-0+deb12u2
swift
Fixed versions: 2.35.1-0+deb13u3
swift
Fixed versions: 2.37.1-5
Complete source record
{
"id": "550e7e6cd23d653c68b7eb84f2462381878393a97d0a5dfc66ccde3f8da25c9e",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-50221",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-50221",
"summary": "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.",
"evidence": "osv:DEBIAN-CVE-2026-50221",
"products": [
{
"name": {
"value": "swift",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.30.1-0+deb12u2",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": [
{
"value": "2.30.0-4",
"evidence": "/affected/0/versions"
},
{
"value": "2.30.1-0+deb12u1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "swift",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.35.1-0+deb13u3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": [
{
"value": "2.35.0-4",
"evidence": "/affected/1/versions"
},
{
"value": "2.35.1-0+deb13u1",
"evidence": "/affected/1/versions"
},
{
"value": "2.35.1-0+deb13u2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "swift",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.37.1-5",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": [
{
"value": "2.35.0-4",
"evidence": "/affected/2/versions"
},
{
"value": "2.35.1-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.35.1-2",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-2",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-3",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-4",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-5",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-6",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-7",
"evidence": "/affected/2/versions"
},
{
"value": "2.36.0-8",
"evidence": "/affected/2/versions"
},
{
"value": "2.37.0-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.37.1-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.37.1-2",
"evidence": "/affected/2/versions"
},
{
"value": "2.37.1-3",
"evidence": "/affected/2/versions"
},
{
"value": "2.37.1-4",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "DEBIAN-CVE-2026-50221",
"aliases": [
"DEBIAN-CVE-2026-50221"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.30.1-0+deb12u2"
}
]
}
],
"package": {
"name": "swift",
"purl": "pkg:deb/debian/swift?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"2.30.0-4",
"2.30.1-0+deb12u1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-50221.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.35.1-0+deb13u3"
}
]
}
],
"package": {
"name": "swift",
"purl": "pkg:deb/debian/swift?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"2.35.0-4",
"2.35.1-0+deb13u1",
"2.35.1-0+deb13u2"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-50221.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.37.1-5"
}
]
}
],
"package": {
"name": "swift",
"purl": "pkg:deb/debian/swift?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"2.35.0-4",
"2.35.1-1",
"2.35.1-2",
"2.36.0-1",
"2.36.0-2",
"2.36.0-3",
"2.36.0-4",
"2.36.0-5",
"2.36.0-6",
"2.36.0-7",
"2.36.0-8",
"2.37.0-1",
"2.37.1-1",
"2.37.1-2",
"2.37.1-3",
"2.37.1-4"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-50221.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
}
],
"modified": "2026-10-26T11:47:33.643990195Z",
"provider": "osv",
"upstream": [
"CVE-2026-50221"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-50221"
]
},
"related_cves": [
{
"value": "CVE-2026-50221",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 450783,
"published_at": "2026-06-23T18:18:04.44+00:00"
}