What’s Vulnerable › Vulnerabilities
CVE-2026-40189: goshs has a file-based ACL authorization bypass in goshs state-changing routes
- Severity: critical (CVSS 9.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-04-10 · updated 2026-10-26
- Weakness: CWE-862
Description
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.
Affected products
- patrickhener goshs: before 2.0.0; 2.0.0-beta1, 2.0.0-beta2, 2.0.0-beta3 — fixed in 2.0.0
How to fix
Upgrade to a fixed version: patrickhener goshs 2.0.0. Check the vendor advisory for mitigations.
References
- https://github.com/patrickhener/goshs/commit/f212c4f4a126556bab008f79758e21a839ef2c0f
- https://github.com/patrickhener/goshs/releases/tag/v2.0.0-beta.4
- https://github.com/patrickhener/goshs/security/advisories/GHSA-wvhv-qcqf-f3cx
- https://github.com/patrickhener/goshs/security/advisories/GHSA-wvhv-qcqf-f3cx
Get alerted when CVE-2026-40189 or the next vulnerability affects your stack