{"id":"CVE-2026-40189","aliases":["GHSA-wvhv-qcqf-f3cx","GO-2026-5728"],"url":"https://o3.security/vulnerability/CVE-2026-40189","summary":"goshs has a file-based ACL authorization bypass in goshs state-changing routes","details":"goshs is a SimpleHTTPServer written in Go. Prior to 2.0.0-beta.4, goshs enforces the documented per-folder .goshs ACL/basic-auth mechanism for directory listings and file reads, but it does not enforce the same authorization checks for state-changing routes. An unauthenticated attacker can upload files with PUT, upload files with multipart POST /upload, create directories with ?mkdir, and delete files with ?delete inside a .goshs-protected directory. By deleting the .goshs file itself, the attacker can remove the folder's auth policy and then access previously protected content without credentials. This results in a critical authorization bypass affecting confidentiality, integrity, and availability. This vulnerability is fixed in 2.0.0-beta.4.","published":"2026-04-10T19:44:54.672Z","modified":"2026-08-27T03:57:09.205288201Z","cvss":null,"epss":{"score":0.00651,"percentile":0.4776,"asOf":"2026-08-06"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Go","name":"github.com/patrickhener/goshs","fixedVersion":null}],"fix":{"url":"https://github.com/patrickhener/goshs/commit/f212c4f4a126556bab008f79758e21a839ef2c0f","label":"patrickhener/goshs@f212c4f"},"references":[{"type":"WEB","url":"https://github.com/patrickhener/goshs/releases/tag/v2.0.0-beta.4"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40189.json"},{"type":"ADVISORY","url":"https://github.com/patrickhener/goshs/security/advisories/GHSA-wvhv-qcqf-f3cx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40189"},{"type":"FIX","url":"https://github.com/patrickhener/goshs/commit/f212c4f4a126556bab008f79758e21a839ef2c0f"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-27T03:57:09.205288201Z"}}