CVE-2026-97149 Missing authorization in Swift
An attacker with a valid PUT TempURL can use the X-Copy-From header to copy and read arbitrary objects within the same account, bypassing intended access controls.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-97149?
CVE-2026-97149 is a medium-severity missing authorization vulnerability in OpenStack Swift, published on 24 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-184
Which versions are affected by CVE-2026-97149?
How do I fix CVE-2026-97149?
Upgrade to a fixed version.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-97149 being exploited?
There is no known exploitation of CVE-2026-97149 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-97149, GHSA-ppc2-wr9h-8mxg, UBUNTU-CVE-2026-97149.