CVE-2026-42882oxyno-zeta/s3-proxy是基于Go语言的AWS S3代理。在5.0.0版本前,存在因URL路径解析不一致导致的认证绕过漏洞。攻击者可利用通配符或编码斜杠绕过认证,未授权访问受保护的S3资源。
该漏洞源于认证中间件与存储桶处理程序对URL路径解析的差异。认证层使用`r.URL.RequestURI()`(原始编码字符串)进行模式匹配,而处理层使用`r.URL.Path`(解码路径)构建S3对象键。由于Glob库未严格限制路径分隔符,`*`可匹配`/`,攻击者可利用三种方式攻击:1. 使用`*`跨路径分隔符匹配受保护路由;2. 使用`%2F`在认证层绕过路径检查,在存储层解析为有效路径;3. 利用`../`结合`**`前缀,利用Go解析器特性实现目录遍历。这允许未认证攻击者对受保护资源执行PUT、GET或DELETE操作。