{"id":"CVE-2026-42882","summary":"oxyno-zeta/s3-proxy: Security Issues in Resource Path Matching","details":"oxyno-zeta/s3-proxy is an aws s3 proxy written in go. Prior to 5.0.0, s3-proxy contains an authentication bypass caused by inconsistent URL path interpretation between the authentication middleware and the bucket handler. The authentication middleware evaluates resource path patterns against the percent-encoded request URI (r.URL.RequestURI()), while the bucket handler constructs S3 object keys from the decoded path (r.URL.Path). This mismatch, combined with the glob library being invoked without a path separator (causing * to match across / boundaries), allows unauthenticated attackers to write to, read from, or delete objects in protected S3 namespaces. Exploitation is possible via three techniques: (1) using * patterns\nthat match across path separators to reach protected routes via path traversal (e.g., /open/foo/drafts/../restricted/), (2) using percent-encoded slashes (%2F) to collapse multiple path segments into a single token at the auth layer while the decoded form resolves to a protected namespace at the storage layer, and (3) using dot-dot segments (../) under ** prefix patterns, where the raw path matches an open route while Go's URL parser resolves the traversal to a protected path before the bucket handler runs. An unauthenticated attacker with network access can perform unauthorized PUT, GET, or DELETE operations on objects in authentication-protected S3 namespaces. This vulnerability is fixed in 5.0.0.","aliases":["GHSA-rfgq-wgg8-662p","GO-2026-5616"],"modified":"2026-08-04T11:50:56.912421643Z","published":"2026-05-11T19:26:44.897Z","related":["openSUSE-SU-2026:21483-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42882.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-22","CWE-863"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42882.json"},{"type":"ADVISORY","url":"https://github.com/oxyno-zeta/s3-proxy/security/advisories/GHSA-rfgq-wgg8-662p"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42882"},{"type":"FIX","url":"https://github.com/oxyno-zeta/s3-proxy/commit/1320e4abd46ad18c2851fedde50dbb79df8b7a51"},{"type":"FIX","url":"https://github.com/oxyno-zeta/s3-proxy/commit/af5ff57d8c6022459495b8fb50130073bca7b48a"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/oxyno-zeta/s3-proxy","events":[{"introduced":"0"},{"fixed":"af5ff57d8c6022459495b8fb50130073bca7b48a"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0"},{"fixed":"5.0.0"}]}}],"versions":["v4.21.0","v4.20.0","v4.19.0","v4.18.1","v4.18.0","v4.17.2","v4.17.1","v4.17.0","v4.16.0","v4.15.0","v4.14.0","v4.13.0","v4.12.0","v4.11.0","4.11.0-alpha.0","v4.10.0","v4.9.0","v4.8.0","v4.7.0","v4.6.1","v4.6.0","v4.5.0","v4.4.0","v4.3.0","v4.2.0","v4.1.3","v4.1.2","v4.1.1","v4.1.0","v4.0.0","v3.4.0","v3.3.0","v3.2.0","v3.1.1","v3.1.0","v3.0.4","v3.0.3","v3.0.2","v3.0.1","v3.0.0","v2.5.0","v2.3.0","2.3.0","2.2.0","2.1.1","2.1.0","2.0.0","1.1.0","1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42882.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L"}]}