Skip to content
Heist/ feed
Back to feed
High

MinIO has an Unauthenticated Object Write via Query-String Credential Signature Bypass in Unsigned-Trailer Uploads

Type: advisorySources: OSV

### Impact _What kind of vulnerability is it? Who is impacted?_ An authentication bypass vulnerability in MinIO's `STREAMING-UNSIGNED-PAYLOAD-TRAILER` code path allows any user who knows a valid access key to write arbitrary objects to any bucket without knowing the secret key or providing a valid cryptographic signature. Any MinIO deployment is impacted. The attack requires only a valid access key (the well-known default `minioadmin`, or any key with WRITE permission on a bucket) and a target bucket name. `PutObjectHandler` and `PutObjectPartHandler` call `newUnsignedV4ChunkedReader` with a signature verification gate based solely on the presence of the `Authorization` header: ```go newUnsignedV4ChunkedReader(r, true, r.Header.Get(xhttp.Authorization) != "") ``` Meanwhile, `isPutActionAllowed` extracts credentials from either the `Authorization` header or the `X-Amz-Credential` query parameter, and trusts whichever it finds. An attacker omits the `Authorization` header and supplies credentials exclusively via the query string. The signature gate evaluates to `false`, `doesSignatureMatch` is never called, and the request proceeds with the permissions of the impersonated access key. This affects `PutObjectHandler` (standard and tables/warehouse bucket paths) and `PutObjectPartHandler` (multipart uploads). **Affected components:** `cmd/object-handlers.go` (`PutObjectHandler`), `cmd/object-multipart-handlers.go` (`PutObjectPartHandler`). ### Affected Versions All MinIO releases

Products
github.com/minio/minio
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-41145
Confirmed fixed CVEs
Not specified
Updated in this feed
28 Oct 2026, 09:01 UTC · Revision 1

Source evidence

MinIO has an Unauthenticated Object Write via Query-String Credential Signature Bypass in Unsigned-Trailer Uploads

core-osv · Original source

Published 14 Apr 2026, 23:40 UTC

### Impact _What kind of vulnerability is it? Who is impacted?_ An authentication bypass vulnerability in MinIO's `STREAMING-UNSIGNED-PAYLOAD-TRAILER` code path allows any user who knows a valid access key to write arbitrary objects to any bucket without knowing the secret key or providing a valid cryptographic signature. Any MinIO deployment is impacted. The attack requires only a valid access key (the well-known default `minioadmin`, or any key with WRITE permission on a bucket) and a target bucket name. `PutObjectHandler` and `PutObjectPartHandler` call `newUnsignedV4ChunkedReader` with a signature verification gate based solely on the presence of the `Authorization` header: ```go newUnsignedV4ChunkedReader(r, true, r.Header.Get(xhttp.Authorization) != "") ``` Meanwhile, `isPutActionAllowed` extracts credentials from either the `Authorization` header or the `X-Amz-Credential` query parameter, and trusts whichever it finds. An attacker omits the `Authorization` header and supplies credentials exclusively via the query string. The signature gate evaluates to `false`, `doesSignatureMatch` is never called, and the request proceeds with the permissions of the impersonated access key. This affects `PutObjectHandler` (standard and tables/warehouse bucket paths) and `PutObjectPartHandler` (multipart uploads). **Affected components:** `cmd/object-handlers.go` (`PutObjectHandler`), `cmd/object-multipart-handlers.go` (`PutObjectPartHandler`). ### Affected Versions All MinIO releases

osv:GHSA-hv4r-mvr4-25vw

github.com/minio/minio

Fixed versions: Not specified

Complete source record
{
  "id": "d6e50425afe59eaa7ee6ef80b27f60f652958df70f9cf9800ba451c78a71cc3a",
  "url": "https://osv.dev/vulnerability/GHSA-hv4r-mvr4-25vw",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "MinIO has an Unauthenticated Object Write via Query-String Credential Signature Bypass in Unsigned-Trailer Uploads",
    "summary": "### Impact _What kind of vulnerability is it? Who is impacted?_ An authentication bypass vulnerability in MinIO's `STREAMING-UNSIGNED-PAYLOAD-TRAILER` code path allows any user who knows a valid access key to write arbitrary objects to any bucket without knowing the secret key or providing a valid cryptographic signature. Any MinIO deployment is impacted. The attack requires only a valid access key (the well-known default `minioadmin`, or any key with WRITE permission on a bucket) and a target bucket name. `PutObjectHandler` and `PutObjectPartHandler` call `newUnsignedV4ChunkedReader` with a signature verification gate based solely on the presence of the `Authorization` header: ```go newUnsignedV4ChunkedReader(r, true, r.Header.Get(xhttp.Authorization) != \"\") ``` Meanwhile, `isPutActionAllowed` extracts credentials from either the `Authorization` header or the `X-Amz-Credential` query parameter, and trusts whichever it finds. An attacker omits the `Authorization` header and supplies credentials exclusively via the query string. The signature gate evaluates to `false`, `doesSignatureMatch` is never called, and the request proceeds with the permissions of the impersonated access key. This affects `PutObjectHandler` (standard and tables/warehouse bucket paths) and `PutObjectPartHandler` (multipart uploads). **Affected components:** `cmd/object-handlers.go` (`PutObjectHandler`), `cmd/object-multipart-handlers.go` (`PutObjectPartHandler`). ### Affected Versions All MinIO releases ",
    "evidence": "osv:GHSA-hv4r-mvr4-25vw",
    "products": [
      {
        "name": {
          "value": "github.com/minio/minio",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "GHSA-hv4r-mvr4-25vw",
      "aliases": [
        "CVE-2026-41145",
        "GHSA-hv4r-mvr4-25vw",
        "GO-2026-5437"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L"
        },
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0.0.0-20230506025312-76913a9fd5c6"
                },
                {
                  "last_affected": "0.0.0-20260212201848-7aac2a2c5b7c"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/minio/minio",
            "purl": "pkg:golang/github.com/minio/minio",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-hv4r-mvr4-25vw/GHSA-hv4r-mvr4-25vw.json"
          }
        }
      ],
      "modified": "2026-10-08T08:11:01.609212145Z",
      "provider": "osv",
      "references": [
        "https://github.com/minio/minio/security/advisories/GHSA-hv4r-mvr4-25vw",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-41145",
        "https://github.com/minio/minio/pull/16484",
        "https://github.com/minio/minio/commit/76913a9fd5c6e5c2dbd4e8c7faf56ed9e9e24091",
        "https://github.com/minio/minio"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-287"
        ],
        "severity": "HIGH",
        "github_reviewed": true,
        "nvd_published_at": "2026-04-22T01:16:05Z",
        "github_reviewed_at": "2026-04-14T23:40:05Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-41145",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 98751,
  "published_at": "2026-04-14T23:40:05+00:00"
}