{"id":"CVE-2026-71191","aliases":["DEBIAN-CVE-2026-71191","EUVD-2026-53049","GHSA-hqwm-h3rj-hvcf","UBUNTU-CVE-2026-71191"],"status":"published","title":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-*...","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","severity":{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00564,"percentile":0.47174,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-863"],"published":"2026-08-05T05:01:20Z","modified":"2026-10-28T02:31:09Z","fixes":[{"ecosystem":"Debian:12","package":"swift","fixed_in":["2.30.1-0+deb12u3"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"swift","fixed_in":["2.35.1-0+deb13u3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"swift","fixed_in":["2.37.1-6"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.30.1-0+deb12u3"}]}],"versions":["2.30.0-4","2.30.1-0+deb12u1","2.30.1-0+deb12u2"]},{"source":"osv","ecosystem":"Debian:13","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.35.1-0+deb13u3"}]}],"versions":["2.35.0-4","2.35.1-0+deb13u1","2.35.1-0+deb13u2"]},{"source":"osv","ecosystem":"Debian:14","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37.1-6"}]}],"versions":["2.35.0-4","2.35.1-1","2.35.1-2","2.36.0-1","2.36.0-2","2.36.0-3","2.36.0-4","2.36.0-5","2.36.0-6","2.36.0-7","2.36.0-8","2.37.0-1","2.37.1-1","2.37.1-2","2.37.1-3","2.37.1-4","2.37.1-5"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.0-0ubuntu1","2.7.0-0ubuntu2","2.7.0-0ubuntu2.1","2.7.1-0ubuntu1","2.7.1-0ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.15.1-0ubuntu3","2.16.0-0ubuntu1","2.16.0-0ubuntu2","2.17.0-0ubuntu1","2.17.1-0ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.23.0-0ubuntu1","2.23.1-0ubuntu1","2.24.0~git2019121715.e890b0f0f-0ubuntu1","2.24.0-0ubuntu1","2.24.1~git2020032711.712bf3c9f-0ubuntu2","2.24.1~git2020041316.a495f1e32-0ubuntu1","2.25.0-0ubuntu0.20.04.1","2.25.1-0ubuntu1","2.25.2-0ubuntu1","2.25.2-0ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.28.0+git2021090911.5d52afbe4-0ubuntu1","2.28.0+git2021120815.1859f2e16-0ubuntu1","2.28.0+git2021121320.876377435-0ubuntu1","2.28.0+git2022011309.32da73f5c-0ubuntu1","2.29.0+git2022030314.3ff3076ce-0ubuntu1","2.29.0+git2022030314.3ff3076ce-0ubuntu2","2.29.1-0ubuntu1","2.29.2-0ubuntu1","2.29.2-0ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.32.0+git2023090714.8ce961ed-0ubuntu1","2.32.0+git2024021508.3aba22fd-0ubuntu1","2.32.0+git2024030809.4135133a-0ubuntu1","2.33.0-0ubuntu1","2.33.0-0ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.37.1-0ubuntu2","2.38.0+git20260812.91.3064444-0ubuntu1","2.38.1-0ubuntu1","2.38.2-0ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"swift","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.36.0-0ubuntu1","2.37.0-0ubuntu1","2.37.1-0ubuntu2","2.37.1-0ubuntu2.1"]}],"products":[{"vendor":"openstack","product":"swift"}],"references":[{"url":"https://launchpad.net/bugs/2158733","tags":["issue-tracking","report"]},{"url":"https://openwall.com/lists/oss-security/2026/07/28/26","tags":["mailing-list","vendor-advisory","advisory","report"]},{"url":"https://security.openstack.org/ossa/OSSA-2026-030.html","tags":["vendor-advisory","advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71191","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hqwm-h3rj-hvcf"},{"url":"https://opendev.org/openstack/swift","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71191.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-71191","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-71191","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-71191","tags":["report"]},{"url":"https://bugs.launchpad.net/swift/+bug/2158733","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-71191","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T05:01:20.971Z","modified":"2026-08-06T13:10:38.459Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium","assessor":"cna"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:19:49.199185Z"}],"euvd":[{"id":"EUVD-2026-53049","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T05:01:20Z","modified":"2026-08-06T13:10:38Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T18:02:09.043832Z"}],"ghsa":[{"id":"GHSA-hqwm-h3rj-hvcf","title":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-*...","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T06:30:32Z","modified":"2026-08-05T06:30:44Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/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","level":"medium"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:10:06.083807Z"}],"nvd":[{"id":"CVE-2026-71191","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T06:16:40.18Z","modified":"2026-10-24T15:10:00.19Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/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","level":"medium","assessor":"secondary"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:12:34.643497Z"}],"osv":[{"id":"CVE-2026-71191","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T05:01:20.971Z","modified":"2026-10-28T02:31:09.052514075Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:45:15.164658Z"},{"id":"DEBIAN-CVE-2026-71191","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T06:16:40.18Z","modified":"2026-10-25T09:47:32.789309611Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/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","level":"medium"}],"updated_at":"2026-11-02T15:46:02.094661Z"},{"id":"UBUNTU-CVE-2026-71191","description":"In OpenStack Swift through 2.38.0, S3API middleware does not enforce that semantic x-amz-* headers are covered by the SigV4 signature on presigned URL requests. An attacker who obtains a presigned PUT URL can inject an unsigned X-Amz-Copy-Source header, causing Swift to perform a server-side copy from an arbitrary source object using the signer's authorization context. The attacker can read any object the signer has access to, provided the target project_id, container name, and object name are known. This affects all deployments using the default s3_acl=false configuration.","status":"published","published":"2026-08-05T06:16:00Z","modified":"2026-10-17T13:00:44.784173473Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T16:57:03.035847Z"}]}}
