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.
History

Sat, 26 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 25 Sep 2026 09:45:00 +0000

Type Values Removed Values Added
Title Unsigned X‑Amz‑Headers Enable Server‑Side Copy via Presigned PUT URLs in MinIO

Fri, 25 Sep 2026 03:15:00 +0000

Type Values Removed Values Added
Description 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.
First Time appeared Minio
Minio minio
Weaknesses CWE-347
CPEs cpe:2.3:a:minio:minio:*:*:*:*:*:*:*:*
Vendors & Products Minio
Minio minio
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published: 2026-09-25T03:07:30.661Z

Updated: 2026-09-25T15:22:53.901Z

Reserved: 2026-09-25T03:07:29.873Z

Link: CVE-2026-97731

cve-icon Vulnrichment

Updated: 2026-09-25T15:22:48.679Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-25T03:16:59.697

Modified: 2026-09-30T17:23:08.953

Link: CVE-2026-97731

cve-icon Redhat

No data.