CVE-2026-50221
Received Received - Intake
Swift Proxy-Server SSRF via Internal Header Injection

Publication date: 2026-06-23

Last updated on: 2026-06-23

Assigner: MITRE

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-23
Last Modified
2026-06-23
Generated
2026-06-24
AI Q&A
2026-06-23
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
openstack swift From 2.0.0 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

The vulnerability allows an attacker to exfiltrate internal cluster metadata, including sensitive encryption details such as cipher text and initialization vectors for container-level encryption keys. This exposure of sensitive data could lead to unauthorized access or disclosure of protected information.

Such unauthorized data exposure and potential compromise of encryption keys may impact compliance with data protection regulations like GDPR and HIPAA, which require safeguarding personal and sensitive data against unauthorized access.

Therefore, organizations using affected OpenStack Swift versions may face increased risk of non-compliance due to this vulnerability if exploited.

Executive Summary

CVE-2026-50221 is a server-side request forgery (SSRF) vulnerability in OpenStack Swift's proxy-server component. It occurs because the proxy-server does not strip certain internal update headers (such as X-Container-Host, X-Container-Device, X-Delete-At-Host, and 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 attacker-controlled servers. This causes the object servers to make outbound HTTP requests to hosts specified by the attacker.

As a result, internal cluster metadata such as storage policy indexes, partition mappings, device names, and encryption-related data (cipher text and initialization vectors) can be exposed. The attacker can also cause "ghost listings" in arbitrary containers via the shard-range redirect mechanism.

Impact Analysis

This vulnerability allows an attacker with authenticated write access to manipulate internal update requests, causing the object servers to send requests to attacker-controlled hosts.

The impact includes exposure of sensitive internal infrastructure details such as storage policy indexes, partition mappings, device names, and encryption keys (cipher text and initialization vectors).

This exposure can facilitate further attacks, including chosen-plaintext attacks on container-level encryption keys.

Additionally, the attacker can cause operational issues like "ghost listings" in containers, which may lead to disk filling or data availability problems.

Detection Guidance

This vulnerability can be detected by monitoring for unusual or unauthorized HTTP requests containing the headers X-Container-Host, X-Container-Device, X-Delete-At-Host, or X-Delete-At-Device in client requests to the OpenStack Swift proxy-server. Since these headers should be stripped before forwarding, their presence indicates potential exploitation attempts.

You can inspect network traffic or logs for PUT or DELETE requests to the proxy-server that include these headers. For example, using command-line tools like tcpdump or tshark to filter HTTP requests with these headers might help detect exploitation attempts.

Example commands to detect suspicious requests might include:

  • Using tcpdump to capture HTTP traffic on port 8080 (default Swift proxy port): tcpdump -A -s 0 'tcp port 8080 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep -i 'X-Container-Host\|X-Container-Device\|X-Delete-At-Host\|X-Delete-At-Device'
  • Using tshark to filter HTTP headers: tshark -i eth0 -Y 'http.header contains "X-Container-Host" or http.header contains "X-Container-Device" or http.header contains "X-Delete-At-Host" or http.header contains "X-Delete-At-Device"'

Additionally, reviewing Swift proxy-server logs for requests containing these headers or unusual outbound PUT/DELETE requests from object servers to unexpected hosts can help identify exploitation.

Mitigation Strategies

The immediate mitigation step is to upgrade OpenStack Swift to a patched version where this vulnerability is fixed. Patches have been released for various Swift branches including 2026.2/hibiscus, 2026.1/gazpacho, 2025.2/flamingo, and 2025.1/epoxy.

Until the upgrade can be applied, consider implementing network-level controls to restrict outbound HTTP requests from object servers to untrusted or external hosts, reducing the risk of SSRF exploitation.

Also, monitor and audit logs for suspicious requests containing the vulnerable headers and restrict authenticated user permissions to minimize the risk of exploitation.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-50221. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart