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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OpenStack | Swift | 2.4.0 – < 2.35.5, 2.36.0 – < 2.36.4, 2.37.0 – < 2.37.4, 2.38.0 – < 2.38.2 | 2.35.5 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | swift | 2.38.1-3 | — |
| Debian 13 | swift | 2.35.1-0+deb13u4 | — |
| Debian 12 | swift | 2.30.1-0+deb12u3 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | swift | No fix yet | — |
| Ubuntu 26.04 LTS | swift | No fix yet | — |
| Ubuntu 24.04 LTS | swift | No fix yet | — |
| Ubuntu 22.04 LTS | swift | No fix yet | — |
| Ubuntu 20.04 LTS | swift | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | swift | No fix yet | — |
| Ubuntu 16.04 LTS | swift | No fix yet | — |
References
- https://launchpad.net/bugs/2166876 issue-tracking