{"id":"CVE-2025-31489","aliases":["EUVD-2025-9731","GHSA-wg47-6jq2-q2hh","GO-2025-3594","openSUSE-SU-2025:14982-1"],"status":"published","title":"MinIO performs incomplete signature validation for unsigned-trailer uploads","description":"MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. The signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket. Prior knowledge of access-key, and bucket name this user might have access\nto - and an access-key with a WRITE permissions is necessary. However with relevant information in place, uploading random objects to buckets is trivial and easy via curl. This issue is fixed in RELEASE.2025-04-03T14-56-28Z.","severity":{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.02519,"percentile":0.84958,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-347"],"published":"2025-04-03T19:36:09Z","modified":"2026-10-28T02:30:55Z","exploits":[{"source":"nuclei","id":"CVE-2025-31489","title":"MinIO - Incomplete Signature Validation for Unsigned-Trailer Uploads","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-31489.yaml"}],"fixes":[{"ecosystem":"Go","package":"github.com/minio/minio","fixed_in":["0.0.0-20250403145552-8c70975283f9"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/minio/minio","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.0.0-20250403145552-8c70975283f9"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/minio/minio","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.0-20250403145552-8c70975283f9"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/minio/minio","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.0-20250403145552-8c70975283f9"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"govulncheck-vulndb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.0.20250409T170536-1.1"}]}],"bundled":4}],"products":[{"vendor":"minio","product":"minio"}],"references":[{"url":"https://github.com/minio/minio/security/advisories/GHSA-wg47-6jq2-q2hh","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/minio/minio/pull/21103","tags":["x_refsource_MISC","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-31489","tags":["advisory"]},{"url":"https://github.com/minio/minio/commit/8c70975283f9f4ce80f331a25c7475a36279e519","tags":["web","fix"]},{"url":"https://github.com/advisories/GHSA-wg47-6jq2-q2hh"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/31xxx/CVE-2025-31489.json","tags":["advisory"]},{"url":"https://github.com/minio/minio","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2025-31483","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2025-31489","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2025-32024","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2025-32025","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2025-31489","title":"MinIO performs incomplete signature validation for unsigned-trailer uploads","description":"MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. The signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket. Prior knowledge of access-key, and bucket name this user might have access\nto - and an access-key with a WRITE permissions is necessary. However with relevant information in place, uploading random objects to buckets is trivial and easy via curl. This issue is fixed in RELEASE.2025-04-03T14-56-28Z.","status":"published","published":"2025-04-03T19:36:09.335Z","modified":"2025-04-03T20:36:19.079Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T14:32:44.763463Z"}],"euvd":[{"id":"EUVD-2025-9731","description":"MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. The signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket. Prior knowledge of access-key, and bucket name this user might have access\nto - and an access-key with a WRITE permissions is necessary. However with relevant information in place, uploading random objects to buckets is trivial and easy via curl. This issue is fixed in RELEASE.2025-04-03T14-56-28Z.","status":"published","published":"2025-04-03T19:36:09Z","modified":"2025-04-03T20:36:19Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T20:52:42.939917Z"}],"ghsa":[{"id":"GHSA-wg47-6jq2-q2hh","title":"MinIO performs incomplete signature validation for unsigned-trailer uploads","description":"### Impact\nThis is a high priority vulnerability and users must upgrade ASAP.\n\nThe signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket,\n\nPrior knowledge of access-key, and bucket name this user might have access to - and an access-key with a WRITE permissions is necessary.\n\nHowever with relevant information in place, uploading random objects to buckets is trivial and easy via `curl`\n\n### Patches\nYes https://github.com/minio/minio/pull/21103\n\n### Workarounds\nReject requests with `x-amz-content-sha256: STREAMING-UNSIGNED-PAYLOAD-TRAILER` for now at LB layer, ask application users to use `STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER`","status":"published","published":"2025-04-04T14:28:29Z","modified":"2025-04-04T14:28:29Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/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":"high"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T14:38:37.325334Z"}],"nvd":[{"id":"CVE-2025-31489","description":"MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. The signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket. Prior knowledge of access-key, and bucket name this user might have access\nto - and an access-key with a WRITE permissions is necessary. However with relevant information in place, uploading random objects to buckets is trivial and easy via curl. This issue is fixed in RELEASE.2025-04-03T14-56-28Z.","status":"published","published":"2025-04-03T20:15:25.897Z","modified":"2026-06-17T09:10:29.473Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/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":"high","assessor":"secondary"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T14:10:58.094557Z"}],"osv":[{"id":"CVE-2025-31489","title":"MinIO performs incomplete signature validation for unsigned-trailer uploads","description":"MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. The signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket. Prior knowledge of access-key, and bucket name this user might have access\nto - and an access-key with a WRITE permissions is necessary. However with relevant information in place, uploading random objects to buckets is trivial and easy via curl. This issue is fixed in RELEASE.2025-04-03T14-56-28Z.","status":"published","published":"2025-04-03T19:36:09.335Z","modified":"2026-10-28T02:30:55.752689718Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T15:44:48.02508Z"},{"id":"GHSA-wg47-6jq2-q2hh","title":"MinIO performs incomplete signature validation for unsigned-trailer uploads","description":"### Impact\nThis is a high priority vulnerability and users must upgrade ASAP.\n\nThe signature component of the authorization may be invalid, which would mean that as a client you can use any arbitrary secret to upload objects given the user already has prior WRITE permissions on the bucket,\n\nPrior knowledge of access-key, and bucket name this user might have access to - and an access-key with a WRITE permissions is necessary.\n\nHowever with relevant information in place, uploading random objects to buckets is trivial and easy via `curl`\n\n### Patches\nYes https://github.com/minio/minio/pull/21103\n\n### Workarounds\nReject requests with `x-amz-content-sha256: STREAMING-UNSIGNED-PAYLOAD-TRAILER` for now at LB layer, ask application users to use `STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER`","status":"published","published":"2025-04-04T14:28:29Z","modified":"2026-10-08T08:11:00.681228061Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/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":"high"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T15:46:58.767335Z"},{"id":"GO-2025-3594","title":"MinIO performs incomplete signature validation for unsigned-trailer uploads in github.com/minio/minio","description":"MinIO performs incomplete signature validation for unsigned-trailer uploads in github.com/minio/minio","status":"published","published":"2025-04-09T17:05:36Z","modified":"2026-10-08T08:11:00.681228061Z","updated_at":"2026-11-02T15:47:01.728182Z"},{"id":"openSUSE-SU-2025:14982-1","title":"govulncheck-vulndb-0.0.20250409T170536-1.1 on GA media","description":"These are all security issues fixed in the govulncheck-vulndb-0.0.20250409T170536-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-04-10T00:00:00Z","modified":"2026-02-04T04:27:14.937598Z","updated_at":"2026-11-02T16:58:37.399567Z"}]}}
