CVE-2026-97731: High severity MinIO MinIO vulnerability

Published Sep 25, 2026
·
Updated

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.

Affected Software

2 affected components
MinIO MinIO<=7aac2a2
pgsty Silo<1233254

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pgsty/silo to a version that resolves this vulnerability.

    Patch 1233254

Event History

Sep 25, 2026
CVE Published
via MITRE·03:07 AM
Data Sourced
via MITRE·03:07 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:16 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Deployments of MinIO through commit 7aac2a2 and pgsty Silo before commit 1233254 are affected. Exposure exists where presigned PUT URLs are issued to parties that should only be able to write a specific object.

2

What does an attacker need to exploit it?

The attacker needs a valid presigned PUT URL scoped to an object and must be able to add an x-amz-copy-source header without changing the signed URL. The signing key associated with that URL must have read access to the object the attacker wants copied.

3

What is the practical impact of a successful exploit?

An attacker can turn permission to write one object into a server-side copy operation performed with the signer’s privileges. This can expose data from any bucket or object that the signing key is allowed to read.

4

Is a normal presigned PUT request enough to trigger the vulnerable behavior?

The issue is triggered by adding x-amz-copy-source to the request while leaving it out of X-Amz-SignedHeaders. The API router selects CopyObject based on the presence of that header, even though it was not included in the signed canonical request.

5

What can be done if upgrading is not immediately possible?

Avoid issuing presigned PUT URLs to untrusted recipients where the associated signing identity has broader read access. Use signing credentials limited to the minimum required bucket and object permissions, particularly without read access to unrelated objects.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203