Bug 2503678 (CVE-2026-71192) - CVE-2026-71192 openstack-swift: openstack-swift: S3API cross-tenant object read via Swift-native header injection
Summary: CVE-2026-71192 openstack-swift: openstack-swift: S3API cross-tenant object re...
Keywords:
Status: NEW
Alias: CVE-2026-71192
Deadline: 2026-07-28
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-21 15:29 UTC by OSIDB Bzimport
Modified: 2026-08-06 09:49 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-07-21 15:29:02 UTC
A flaw was found in the S3API middleware of OpenStack Swift. When configured with s3_acl=true (non-default), the S3API middleware does not sanitize Swift-native control headers (X-Copy-From, X-Copy-From-Account, X-Symlink-Target, X-Symlink-Target-Account, X-Object-Manifest, X-Static-Large-Object) from incoming S3 API requests. When s3_acl=true, the S3AclRequest class sets swift.authorize_override=True, bypassing Swift's native authorization. Since the S3 ACL system does not understand these native Swift headers, an authenticated attacker can inject X-Copy-From and X-Copy-From-Account headers to copy objects from other tenants' storage into their own account. The attacker must know the target project_id, container name, and object name.

The vulnerability is in S3AclRequest.to_swift_req() (s3request.py) which disables native Swift auth, combined with S3Request.__init__() not stripping native Swift control headers from incoming requests.

Affected versions: >=2.18.0 <2.35.4, >=2.36.0 <2.36.3, >=2.37.0 <2.37.3
Fix commit: 0e4a334aa41980b0ae0c7f2244ddfa8c3c24e5db

Reporter: Christian Schwede (NVIDIA), reported via OpenStack VMT
PSIRT Ticket: PSIRTSUPT-19763
Upstream private report: https://launchpad.net/bugs/2158733


Note You need to log in before you can comment on or make changes to this bug.