CVE-2015-5223
NoneCVSS
—
EPSS
2.6%
Published
Oct 26, 2015
CISA due date
—
Cloudanix analysis
A flaw in older storage software could let outsiders peek at private files stored in other areas by using special links meant for temporary access.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Allows unauthenticated remote attackers to read object contents from a different container by crafting a temporary URL that references a Dynamic Large Object manifest crossing container boundaries.
Why it matters to the business
Exposure of sensitive stored objects can lead to data leaks, regulatory penalties, and loss of customer trust in object storage deployments.
How an attack unfolds
An attacker obtains a valid temporary URL via a PUT operation, then supplies a DLO manifest that points to an object residing in a separate container; the server follows the manifest without enforcing container isolation, returning the target object's data.
How to fix it
Upgrade OpenStack Swift to version 2.4.0 or later; enforce strict container isolation policies and review all existing temporary URL grants for cross-container manifests.
How to confirm the fix worked
Confirm Swift version is 2.4.0 or newer; test that manifests referencing other containers are rejected and review audit logs for any prior cross-container manifest usage.
Typical attack path
- Discover or obtain a temporary URL endpoint for an authorized container
- Create or modify a DLO manifest that references an object in a different container
- Issue a GET request using the temporary URL against the manifest
- Receive unauthorized object contents from the cross-container reference
How to detect it
Review Swift proxy and object server logs for PUT and GET operations involving tempurls combined with manifests; search for manifest paths that reference containers different from the one the temporary URL was issued against.
What your security team should do
- Immediately inventory all Swift deployments and schedule upgrades to 2.4.0+
- Scan object manifests for cross-container references and revoke affected temporary URLs
- Enable detailed logging of manifest operations and temporary URL usage for ongoing monitoring
The record
OpenStack Object Storage (Swift) before 2.4.0 allows attackers to obtain sensitive information via a PUT tempurl and a DLO object manifest that references an object in another container.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | swift | 0 | 2.4.0 |
| Debian:11 | swift | 0 | 2.4.0-1 |
| Debian:12 | swift | 0 | 2.4.0-1 |
| Debian:13 | swift | 0 | 2.4.0-1 |
| Red Hat:openstack:5::el6 | openstack-swift | 0 | 0:1.13.1-7.el6ost |
| Red Hat:openstack:5::el6 | openstack-swift-account | 0 | 0:1.13.1-7.el6ost |
| Red Hat:openstack:5::el6 | openstack-swift-container | 0 | 0:1.13.1-7.el6ost |
| Red Hat:openstack:5::el6 | openstack-swift-doc | 0 | 0:1.13.1-7.el6ost |
| Red Hat:openstack:5::el6 | openstack-swift-object | 0 | 0:1.13.1-7.el6ost |
| Red Hat:openstack:5::el6 | openstack-swift-proxy | 0 | 0:1.13.1-7.el6ost |
| Red Hat:openstack:5::el7 | openstack-swift | 0 | 0:1.13.1-7.el7ost |
| Red Hat:openstack:5::el7 | openstack-swift-account | 0 | 0:1.13.1-7.el7ost |
| Red Hat:openstack:5::el7 | openstack-swift-container | 0 | 0:1.13.1-7.el7ost |
| Red Hat:openstack:5::el7 | openstack-swift-doc | 0 | 0:1.13.1-7.el7ost |
| Red Hat:openstack:5::el7 | openstack-swift-object | 0 | 0:1.13.1-7.el7ost |
| Red Hat:openstack:5::el7 | openstack-swift-proxy | 0 | 0:1.13.1-7.el7ost |
| Red Hat:openstack:6::el7 | openstack-swift | 0 | 0:2.2.0-5.el7ost |
| Red Hat:openstack:6::el7 | openstack-swift-account | 0 | 0:2.2.0-5.el7ost |
| Red Hat:openstack:6::el7 | openstack-swift-container | 0 | 0:2.2.0-5.el7ost |
| Red Hat:openstack:6::el7 | openstack-swift-doc | 0 | 0:2.2.0-5.el7ost |
| Red Hat:openstack:6::el7 | openstack-swift-object | 0 | 0:2.2.0-5.el7ost |
| Red Hat:openstack:6::el7 | openstack-swift-proxy | 0 | 0:2.2.0-5.el7ost |
| Red Hat:openstack:7::el7 | openstack-swift | 0 | 0:2.3.0-2.el7ost |
| Red Hat:openstack:7::el7 | openstack-swift-account | 0 | 0:2.3.0-2.el7ost |
| Red Hat:openstack:7::el7 | openstack-swift-container | 0 | 0:2.3.0-2.el7ost |
| Red Hat:openstack:7::el7 | openstack-swift-doc | 0 | 0:2.3.0-2.el7ost |
| Red Hat:openstack:7::el7 | openstack-swift-object | 0 | 0:2.3.0-2.el7ost |
| Red Hat:openstack:7::el7 | openstack-swift-proxy | 0 | 0:2.3.0-2.el7ost |
| Red Hat:storage:3.1:server:el6 | openstack-swift | 0 | 0:1.13.1-8.el6ost |
| Red Hat:storage:3.1:server:el6 | openstack-swift-account | 0 | 0:1.13.1-8.el6ost |
| Red Hat:storage:3.1:server:el6 | openstack-swift-container | 0 | 0:1.13.1-8.el6ost |
| Red Hat:storage:3.1:server:el6 | openstack-swift-doc | 0 | 0:1.13.1-8.el6ost |
| Red Hat:storage:3.1:server:el6 | openstack-swift-object | 0 | 0:1.13.1-8.el6ost |
| Red Hat:storage:3.1:server:el6 | openstack-swift-proxy | 0 | 0:1.13.1-8.el6ost |
| Red Hat:storage:3.1:server:el7 | openstack-swift | 0 | 0:1.13.1-8.el7ost |
| Red Hat:storage:3.1:server:el7 | openstack-swift-account | 0 | 0:1.13.1-8.el7ost |
| Red Hat:storage:3.1:server:el7 | openstack-swift-container | 0 | 0:1.13.1-8.el7ost |
| Red Hat:storage:3.1:server:el7 | openstack-swift-doc | 0 | 0:1.13.1-8.el7ost |
| Red Hat:storage:3.1:server:el7 | openstack-swift-object | 0 | 0:1.13.1-8.el7ost |
| Red Hat:storage:3.1:server:el7 | openstack-swift-proxy | 0 | 0:1.13.1-8.el7ost |
| SUSE:OpenStack Cloud 5 | openstack-swift | 0 | 2.1.0-11.1 |
| SUSE:OpenStack Cloud 5 | openstack-swift-doc | 0 | 2.1.0-11.1 |
| Ubuntu:14.04:LTS | swift | 0 | 1.13.1-0ubuntu1.5 |
| Ubuntu:16.04:LTS | swift | 0 | 2.5.0-0ubuntu1 |
Related vulnerabilities
- CVE-2014-7960 OpenStack Object Storage (Swift) before 2.2.0 allows remote authenticated users to bypass… Also affects swift
- CVE-2014-3497 Cross-site scripting (XSS) vulnerability in OpenStack Swift 1.11.0 through 1.13.1 allows… Also affects swift
- CVE-2026-114657 Grav from 2.0.0 before 2.2.5 contains an information disclosure vulnerability that allows… CWE-200
- CVE-2026-114574 A security vulnerability has been detected in massCodeIO massCode 5.10. CWE-200
- CVE-2026-111756 follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows… CWE-200
- CVE-2026-111755 follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows… CWE-200
- CVE-2026-112091 A flaw has been found in Dav-ee dairy-management-system… CWE-200
- CVE-2026-109259 ImageMagick before 6.9.13-57 and 7.x before 7.1.2-32 contains an uninitialized memory… CWE-200