CVE-2026-97149
In OpenStack Swift before 2.38.2, the tempurl middleware does not reject the X-Copy-From header...
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.3
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.
- Record
CVE-2026-97149- CVSS 4.0
- 5.3 Medium
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 - Weakness
- CWE-184
- Updated
- 2026-11-02
EUVDEUVD-2026-85786
5.3
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.
- Record
EUVD-2026-85786- CVSS 4.0
- 5.3 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-ppc2-wr9h-8mxg
5.3
In OpenStack Swift before 2.38.2, the tempurl middleware does not reject the X-Copy-From header...
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.
- Record
GHSA-ppc2-wr9h-8mxg- CVSS 4.0
- 5.3 Medium
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-184
- Updated
- 2026-11-02
NVD
5.3
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.
- Record
CVE-2026-97149- CVSS 4.0
- 5.3 Medium
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-184
- Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2026-97149- CVSS 4.0
- 5.3 Medium
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 - Weakness
- CWE-184
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-97149
5.3
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.
- Record
DEBIAN-CVE-2026-97149- CVSS 4.0
- 5.3 Medium
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-97149
5.3
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.
- Record
UBUNTU-CVE-2026-97149- CVSS 4.0
- 5.3 Medium
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 - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
swiftDebian:12 |
before 2.30.1-0+deb12u3, plus listed versions 2.30.0-42.30.1-0+deb12u12.30.1-0+deb12u2 |
2.30.1-0+deb12u3 |
swiftDebian:13 |
before 2.35.1-0+deb13u4, plus listed versions 2.35.0-42.35.1-0+deb13u12.35.1-0+deb13u22.35.1-0+deb13u3 |
2.35.1-0+deb13u4 |
swiftDebian:14 |
before 2.38.1-3, plus listed versions 2.35.0-42.35.1-12.35.1-22.36.0-12.36.0-2 Show 15 moreShow less2.36.0-32.36.0-42.36.0-52.36.0-62.36.0-72.36.0-82.37.0-12.37.1-12.37.1-22.37.1-32.37.1-42.37.1-52.37.1-62.38.1-12.38.1-2 |
2.38.1-3 |
swiftUbuntu:16.04:LTS |
All versions, plus listed versions 2.5.0-0ubuntu12.7.0-0ubuntu22.7.0-0ubuntu2.12.7.1-0ubuntu12.7.1-0ubuntu2 |
None known |
swiftUbuntu:18.04:LTS |
All versions, plus listed versions 2.15.1-0ubuntu32.16.0-0ubuntu12.16.0-0ubuntu22.17.0-0ubuntu12.17.1-0ubuntu1 |
None known |
swiftUbuntu:20.04:LTS |
All versions, plus listed versions 2.23.0-0ubuntu12.23.1-0ubuntu12.24.0~git2019121715.e890b0f0f-0ubuntu12.24.0-0ubuntu12.24.1~git2020032711.712bf3c9f-0ubuntu2 Show 5 moreShow less2.24.1~git2020041316.a495f1e32-0ubuntu12.25.0-0ubuntu0.20.04.12.25.1-0ubuntu12.25.2-0ubuntu12.25.2-0ubuntu1.1 |
None known |
swiftUbuntu:22.04:LTS |
All versions, plus listed versions 2.28.0+git2021090911.5d52afbe4-0ubuntu12.28.0+git2021120815.1859f2e16-0ubuntu12.28.0+git2021121320.876377435-0ubuntu12.28.0+git2022011309.32da73f5c-0ubuntu12.29.0+git2022030314.3ff3076ce-0ubuntu1 Show 4 moreShow less2.29.0+git2022030314.3ff3076ce-0ubuntu22.29.1-0ubuntu12.29.2-0ubuntu12.29.2-0ubuntu1.1 |
None known |
swiftUbuntu:24.04:LTS |
All versions, plus listed versions 2.32.0+git2023090714.8ce961ed-0ubuntu12.32.0+git2024021508.3aba22fd-0ubuntu12.32.0+git2024030809.4135133a-0ubuntu12.33.0-0ubuntu12.33.0-0ubuntu1.1 |
None known |
swiftUbuntu:26.10 |
All versions, plus listed versions 2.37.1-0ubuntu22.38.0+git20260812.91.3064444-0ubuntu12.38.1-0ubuntu12.38.2-0ubuntu1 |
None known |
swiftUbuntu:26.04:LTS |
All versions, plus listed versions 2.36.0-0ubuntu12.37.0-0ubuntu12.37.1-0ubuntu22.37.1-0ubuntu2.1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-97149 is a medium vulnerability (CVSS 5.3) in Openstack Swift, published September 24, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.25%, the 16th percentile. Fixed in swift 2.30.1-0+deb12u3.