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.
{
"cna_assigner": "mitre",
"cwe_ids": [
"CWE-184"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97149.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "2.4.0"
},
{
"fixed": "2.35.5"
},
{
"introduced": "2.36.0"
},
{
"fixed": "2.36.4"
},
{
"introduced": "2.37.0"
},
{
"fixed": "2.37.4"
}
],
"source": "AFFECTED_FIELD"
}
]
}