Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2026-71192

In OpenStack Swift through 2.38.0, the S3API middleware does not sanitize Swift-native control headers (X-Copy-From, X-Copy-From-Account) from S3 API requests when s3_acl=true. An attacker can inject these headers into a signed PUT request targeting their own bucket, causing Swift to perform a server-side copy from another tenant's private object. The source object authorization is bypassed because the S3API middleware has already authorized the request against the destination. The attacker can read any object whose project_id, container name, and object name are known, regardless of the source object's ACLs or ownership. This requires the non-default s3_acl=true configuration.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-71192
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 01:20 UTC · Revision 1

Source evidence

CVE-2026-71192

core-osv · Original source

Published 5 Aug 2026, 05:05 UTC

In OpenStack Swift through 2.38.0, the S3API middleware does not sanitize Swift-native control headers (X-Copy-From, X-Copy-From-Account) from S3 API requests when s3_acl=true. An attacker can inject these headers into a signed PUT request targeting their own bucket, causing Swift to perform a server-side copy from another tenant's private object. The source object authorization is bypassed because the S3API middleware has already authorized the request against the destination. The attacker can read any object whose project_id, container name, and object name are known, regardless of the source object's ACLs or ownership. This requires the non-default s3_acl=true configuration.

osv:CVE-2026-71192
Complete source record
{
  "id": "180249f1576e9318612941e44bb8ac10ff5e690e1a57e8b69c49c418c18751b3",
  "url": "https://osv.dev/vulnerability/CVE-2026-71192",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2026-71192",
    "summary": "In OpenStack Swift through 2.38.0, the S3API middleware does not sanitize Swift-native control headers (X-Copy-From, X-Copy-From-Account) from S3 API requests when s3_acl=true. An attacker can inject these headers into a signed PUT request targeting their own bucket, causing Swift to perform a server-side copy from another tenant's private object. The source object authorization is bypassed because the S3API middleware has already authorized the request against the destination. The attacker can read any object whose project_id, container name, and object name are known, regardless of the source object's ACLs or ownership. This requires the non-default s3_acl=true configuration.",
    "evidence": "osv:CVE-2026-71192",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-71192",
      "aliases": [
        "CVE-2026-71192"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://opendev.org/openstack/swift",
              "type": "GIT",
              "events": [
                {
                  "introduced": "f270466de363499894317b7c671f65e8a912bd53"
                },
                {
                  "fixed": "fc875f93e82edf98805d0eead3e3c961673c3ef8"
                },
                {
                  "introduced": "82cb5a5d78b91c6af258cd8f06d30f69be90fa18"
                },
                {
                  "fixed": "deaa3e4691bb19224f5ef57e7fbcd08b7eff5277"
                },
                {
                  "introduced": "555026d200337b39c97eb9dafd26901ff40c7a1d"
                },
                {
                  "fixed": "5104042f12efcaf90c28b656a378da8959004826"
                },
                {
                  "introduced": "9f5881d5143fd06a328bde2713cd9c61df579289"
                },
                {
                  "last_affected": "9f5881d5143fd06a328bde2713cd9c61df579289"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.18.0"
                      },
                      {
                        "fixed": "2.35.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.36.0"
                      },
                      {
                        "fixed": "2.36.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.37.0"
                      },
                      {
                        "fixed": "2.37.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.38.0"
                      },
                      {
                        "last_affected": "2.38.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.38.0",
            "2.37.2",
            "2.36.2",
            "2.35.3",
            "2.35.2",
            "2.36.1",
            "2.37.1",
            "2.37.0",
            "2.36.0",
            "2.35.1",
            "2.35.0",
            "2.34.0",
            "2.33.0",
            "2.32.0",
            "2.31.1",
            "2.31.0",
            "2.30.0",
            "2.29.1",
            "2.29.0",
            "2.28.0",
            "wallaby-em",
            "2.27.0",
            "victoria-em",
            "2.26.0",
            "2.25.0",
            "2.24.0",
            "2.23.0",
            "2.22.0",
            "2.21.0",
            "2.20.0",
            "2.19.0",
            "2.18.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-71192.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.744725189Z",
      "provider": "osv",
      "references": [
        "https://opendev.org/openstack/swift",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71192.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-71192",
        "https://openwall.com/lists/oss-security/2026/07/28/26",
        "https://security.openstack.org/ossa/OSSA-2026-030.html",
        "https://launchpad.net/bugs/2158733"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-863"
        ],
        "cna_assigner": "mitre",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71192.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-71192",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491545,
  "published_at": "2026-08-05T05:05:33.267+00:00"
}