Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid PUT TempURL for an object
-
DeliverySend PUT with crafted X-Copy-From header
-
ExploitCopy middleware duplicates victim object to destination
-
ExecutionRetrieve destination via GET TempURL
-
ImpactExfiltrate victim data within account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
|
| Exploitation Conditions | Exploitation requires ALL of the following: (1) the deployment uses the shipped DEFAULT Swift proxy pipeline containing both the tempurl and copy middleware; (2) the deployment uses ACCOUNT-LEVEL TempURL keys; and (3) the attacker possesses a valid, unexpired PUT TempURL for at least one object. The attack is strictly bounded to a SINGLE account - copies across account boundaries are rejected - and the copied source must be an object in that same account. Limiting factors: it does not work against non-default pipelines lacking the copy middleware, does not cross account boundaries, and depends on the attacker legitimately holding or capturing a signed PUT TempURL (the capability token modeled as PR:L). No traditional user authentication or victim user interaction is required. |
| Impact | This is a genuine but bounded confidentiality issue rather than a high-urgency emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N, base 5.3, Medium) is consistent with the description: remote, low-complexity, but requiring possession of a valid signed PUT TempURL (reflected as PR:L) and limited to low confidentiality impact with no integrity or availability effect. CWE-184 (incomplete list of disallowed inputs) precisely captures the root cause - the disallowed-header list omits X-Copy-From. No EPSS score, no CISA KEV listing, and no public exploit code are provided in the input, so exploitation status is 'no public exploit identified at time of analysis.' The impact is contained by design: copies across account boundaries are rejected, so an attacker can only read objects within the same account for which they already hold a TempURL. One point worth verifying: because the flaw lets an attacker read ARBITRARY objects in the account (repeatably), the confidentiality impact is arguably higher than VC:L in aggregate - but per-request it remains partial, so VC:L is defensible. Net: a real priority for Swift operators running the default pipeline, but not a drop-everything item absent evidence of exploitation. |
| Exploit ScenarioDerived | An attacker is legitimately given (or intercepts) a PUT TempURL for a single object in a Swift account - the normal use case for TempURL uploads. They send a PUT to that signed URL but add an X-Copy-From header naming a different, sensitive object in the same account; the copy middleware duplicates the victim object to the attacker-controlled destination, which the attacker then retrieves with a GET TempURL. No public exploit code is identified at time of analysis, but the technique is fully described and mechanically simple. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 24, 2026
Information disclosure in OpenStack Swift deployments that run the shipped default proxy pipeline: the tempurl middleware does not reject an attacker-supplied X-Copy-From header on signed PUT requests, so anyone holding a valid, unexpired PUT TempURL for a single object can make the copy middleware pull another object from the same account into the destination path and then read that data back using a GET TempURL for the destination. The impact is bounded rather than systemic - copies across account boundaries are rejected, deployments without the copy middleware in the pipeline are unaffected, and the CVSS score is 5.3 with a PR:L vector reflecting the need to hold a legitimate signed TempURL capability. No public exploit code has been identified at time of analysis, and CVE-2026-97149 is not reported as confirmed actively exploited (CISA KEV).
RemediationAI
Upgrade OpenStack Swift to 2.38.2, the release the advisory identifies as the boundary after which the flaw no longer applies, and restart the proxy services so the corrected tempurl middleware is loaded; the upstream Launchpad bug at https://launchpad.net/bugs/2166876 should be consulted for the exact commit and any backports available for older stable branches. If an immediate upgrade is not possible, the most direct compensating control is to remove the copy middleware from the proxy pipeline's middleware list - this blocks the X-Copy-From path entirely but disables all server-side copy and copy-based bulk operations for all clients, so it should be treated as a short-term measure only. A narrower option is to stop issuing account-level TempURL keys and rely on container-scoped keys, which limits what a signed URL can address, at the cost of reissuing existing temporary URLs and adjusting any tooling that assumes account-wide scope. Disabling the tempurl middleware outright eliminates the exposure but also removes the temporary-URL feature from all tenants. Because the attack is confined to a single account, logging and alerting on X-Copy-From headers appearing on PUT requests with a TempURL signature provides a useful detection control, and TempURL expiry times should be kept short to limit the window in which a leaked or captured PUT signature remains usable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Swift's TempURL middleware lets an operator issue HMAC-signed URLs that grant temporary access to an object without normal authentication. The signature is computed only over the HTTP method, the expiry timestamp, and the request path, so the middleware relies on an explicit list of disallowed headers to prevent a signed request from doing something other than what the signer intended. This is a CWE-184 (Incomplete List of Disallowed Inputs) failure: X-Copy-From is not on that list, and the copy middleware processes it as a server-side copy directive, reading the object named in the header and writing it to the PUT target. Because the TempURL signature remains valid for the PUT, the middleware chain authorizes the operation, and the attacker-only-relevant constraint is that the header must name an object within the same Swift account - cross-account copies are refused. The affected component is the tempurl/copy middleware interaction in the standard proxy pipeline; per the CPE entry (cpe:2.3:a:openstack:swift:*:*:*:*:*:*:*:*), all Swift releases prior to 2.38.2 are in scope, and exploitation additionally depends on the deployment using account-level TempURL keys rather than container-scoped keys and on the attacker legitimately holding or capturing a signed PUT TempURL (the assessment models this capability token as PR:L, not traditional user authentication, and no victim user interaction is required).
Know when Openstack gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
PR:L because the attacker must hold a valid signed PUT TempURL capability; confidentiality-only (C:L, per-request partial read), no integrity or availability impact and same-account boundary keeps scope unchanged.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
1DescriptionCVE.org
In OpenStack Swift before 2.38.2, the tempurl middleware does not reject the X-Copy-From header on PUT requests. A TempURL signature only covers the method, expiry, and path, and thus the list of disallowed headers is the only defense against a signed PUT request changing what the request does. An attacker holding a PUT TempURL for a single object can add an X-Copy-From header naming any object in the same account; the copy middleware copies that object to the destination, and the attacker then reads the victim's data back with a GET TempURL for the destination object. Copies across account boundaries are rejected. Only deployments using the shipped default proxy pipeline (tempurl and copy middleware) with account-level TempURL keys are affected.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Oracle MySQL through 5.5.52, 5.6.x through 5.6.33, and 5.7.x through 5.7.15; MariaDB before 5.5.51, 10.0.x before 10.0.2
Eval injection vulnerability in the create method in the Bookmarks controller in Foreman before 1.2.0-RC2 allows remote
The create method in app/controllers/users_controller.rb in Foreman before 1.2.0-RC2 allows remote authenticated users w
Systems with microprocessors utilizing speculative execution and speculative execution of memory reads before the addres
The Floppy Disk Controller (FDC) in QEMU, as used in Xen 4.5.x and earlier and KVM, allows local guest users to cause a
Memory Corruption was discovered in the cmsgpack library in the Lua subsystem in Redis before 3.2.12, 4.x before 4.0.10,
The IPTables firewall in OpenStack Neutron before 7.0.4 and 8.0.0 through 8.1.0 allows remote attackers to bypass an int
An issue in OpenStack magnum yoga-eom version allows a remote attacker to execute arbitrary code via the cert_manager.py
An Integer Overflow issue was discovered in the struct library in the Lua subsystem in Redis before 3.2.12, 4.x before 4
glibc contains a vulnerability that allows specially crafted LD_LIBRARY_PATH values to manipulate the heap/stack, causin
Buffer overflow in the pcnet_receive function in hw/net/pcnet.c in QEMU, when a guest NIC has a larger MTU, allows remot
Code injection in OpenStack Vitrage query parser allows authenticated users to execute arbitrary Python code through cra
EUVD-2026-85786
GHSA-ppc2-wr9h-8mxg
NVD
CVE.org
EPSS
VulDB
Exploit-DB