{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "source": "REFERENCES"
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1233254309b15571f101b2b26d531951ceaeef1e"
            }
          ],
          "repo": "https://github.com/pgsty/silo",
          "type": "GIT"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "mitre",
    "cwe_ids": [
      "CWE-347"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97731.json",
    "unresolved_ranges": [
      {
        "extracted_events": [
          {
            "last_affected": "7aac2a2c5b7c882e68c1ce017d8256be2feea27f"
          }
        ],
        "source": "AFFECTED_FIELD"
      },
      {
        "extracted_events": [
          {
            "last_affected": "7aac2a2c5b7c882e68c1ce017d8256be2feea27f"
          }
        ],
        "source": "CPE_FIELD"
      },
      {
        "extracted_events": [
          {
            "fixed": "7aac2a2"
          },
          {
            "fixed": "1233254"
          }
        ],
        "source": "DESCRIPTION"
      }
    ]
  },
  "details": "MinIO through 7aac2a2 does not verify that every x-amz-* header present on a request also appears in the client-supplied X-Amz-SignedHeaders list. extractSignedHeaders() in cmd/signature-v4-utils.go iterates only the claimed list and never enumerates the headers that actually arrived, and thus a header that arrives unsigned is neither hashed into the canonical request nor rejected. Because cmd/api-router.go dispatches CopyObject on the presence of x-amz-copy-source alone, the holder of a presigned PUT URL scoped to a single object can add that header to the unmodified URL and cause a server-side copy, executed as the signer, of any object the signing key can read. A grant to write one object becomes a read of every bucket that key can reach. Amazon S3 rejects the equivalent request with HTTP 403 AccessDenied. The minio/minio GitHub repository was archived in April 2026; pgsty/silo before 1233254 is also affected.",
  "id": "CVE-2026-97731",
  "modified": "2026-09-27T03:30:38.359178204Z",
  "published": "2026-09-25T03:07:30.661Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97731.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-97731"
    },
    {
      "type": "ADVISORY",
      "url": "https://silo.pgsty.com/about/security-advisories/#sn-2026-011"
    },
    {
      "type": "FIX",
      "url": "https://github.com/pgsty/silo/commit/1233254309b15571f101b2b26d531951ceaeef1e"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/minio/minio"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N",
      "type": "CVSS_V3"
    }
  ]
}