CVE-2026-40189goshs是一个用Go语言编写的SimpleHTTPServer。在2.0.0-beta.4版本之前,该程序虽然在目录列表和文件读取时强制执行了.goshs ACL或基本身份验证机制,但在涉及状态变更的路由(如上传、创建目录、删除文件)中并未执行相同的授权检查。未经身份验证的攻击者可利用此漏洞绕过认证,执行文件操作或删除.goshs配置文件,导致机密性、完整性和可用性受损。
该漏洞的核心原因在于goshs在处理不同类型的HTTP请求时,授权检查逻辑不一致。当访问受.goshs文件保护的目录时,程序对GET请求(读取文件、列目录)进行了严格的身份验证拦截,但对PUT请求、POST /upload请求以及带有?mkdir和?delete参数的请求未实施相同的访问控制。攻击者无需认证即可直接向受保护目录发送PUT请求上传恶意文件,或发送带有?delete参数的请求删除关键文件。特别是,攻击者可以利用?delete参数删除目录中的.goshs配置文件,从而彻底移除该目录的访问策略,进而无需凭据即可访问原本受保护的敏感内容,造成严重的权限提升和数据泄露。