Privilege Escalation on Linux/MacOS
High8.8CVE-2023-28434 · Published Sep 5, 2023 · updated Sep 10, 2026
### Impact An attacker can use crafted requests to bypass metadata bucket name checking and put an object into any bucket while processing `PostPolicyBucket`. To carry out this attack, the attacker requires credentials with `arn:aws:s3:::*` permission, as well as enabled Console API access. ### Patches ``` commit 67f4ba154a27a1b06e48bfabda38355a010dfca5 Author: Aditya Manthramurthy <donatello@users.noreply.github.com> Date: Sun Mar 19 21:15:20 2023 -0700 fix: post policy request security bypass (#16849) ``` ### Workarounds Browser API access must be enabled turning off `MINIO_BROWSER=off` allows for this workaround. ### References The vulnerable code: ```go // minio/cmd/generic-handlers.go func setRequestValidityHandler(h http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // ... // For all other requests reject access to reserved buckets bucketName, _ := request2BucketObjectName(r) if isMinioReservedBucket(bucketName) || isMinioMetaBucket(bucketName) { if !guessIsRPCReq(r) && !guessIsBrowserReq(r) && !guessIsHealthCheckReq(r) && !guessIsMetricsReq(r) && !isAdminReq(r) && !isKMSReq(r) { if ok ...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| github.com/minio/minio Go | < 0.0.0-202303200415 | 0.0.0-202303200415 |
Details and references
### Impact An attacker can use crafted requests to bypass metadata bucket name checking and put an object into any bucket while processing `PostPolicyBucket`. To carry out this attack, the attacker requires credentials with `arn:aws:s3:::*` permission, as well as enabled Console API access. ### Patches ``` commit 67f4ba154a27a1b06e48bfabda38355a010dfca5 Author: Aditya Manthramurthy <donatello@users.noreply.github.com> Date: Sun Mar 19 21:15:20 2023 -0700 fix: post policy request security bypass (#16849) ``` ### Workarounds Browser API access must be enabled turning off `MINIO_BROWSER=off` allows for this workaround. ### References The vulnerable code: ```go // minio/cmd/generic-handlers.go func setRequestValidityHandler(h http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // ... // For all other requests reject access to reserved buckets bucketName, _ := request2BucketObjectName(r) if isMinioReservedBucket(bucketName) || isMinioMetaBucket(bucketName) { if !guessIsRPCReq(r) && !guessIsBrowserReq(r) && !guessIsHealthCheckReq(r) && !guessIsMetricsReq(r) && !isAdminReq(r) && !isKMSReq(r) { if ok { tc.FuncName = "handler.ValidRequest" tc.ResponseRecorder.LogErrBody = true } writeErrorResponse(r.Context(), w, errorCodes.ToAPIErr(ErrAllAccessDisabled), r.URL) return } } // ... ```
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-269
- Also known as
- BIT-minio-2023-28434, CVE-2023-28434
- github.com/minio/minio/security/advisories/GHSA-2pxw-r47w-4p8c
- nvd.nist.gov/vuln/detail/CVE-2023-28434
- github.com/minio/minio/pull/16849
- github.com/minio/minio/commit/67f4ba154a27a1b06e48bfabda38355a010dfca5
- github.com/minio/minio
- www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-28434
More MinIO advisories
All MinIO| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Apr 42025 | MinIO performs incomplete signature validation for unsigned-trailer uploads | High | 0.0.0-20250403145552-8c70975283f9 |
| Mar 32025 | MinIO allows an SFTP authentication bypass due to improperly trusted SSH key | Medium | 0.0.0-20250227184332-4c71f1b4ec0f |
| Dec 162024 | MinIO vulnerable to privilege escalation in IAM import API | High | 0.0.0-20241213221912-68b004a48f41 |
| May 292024 | MinIO information disclosure vulnerability | Medium5.3 | 0.0.0-20240527191746-e0fe7cc39172 |
| Feb 12024 | Minio unsafe default: Access keys inherit `admin` of root user, allowing privilege escalation | High8.8 | 0.0.0-20240131185645-0ae4915a9391 |
| Sep 62023 | Minio vulnerable to Privilege Escalation on Windows via Path separator manipulation | High8.8 | 0.0.0-202303200735 |