goshs — это SimpleHTTPServer, написанный на Go. До версии 2.0.0-beta.4 goshs применяет документированный механизм ACL/basic-auth для каждой папки .goshs для списков каталогов и чтения файлов, но не применяет такие же проверки авторизации для маршрутов с изменением состояния. Злоумышленник, не прошедший проверку подлинности, может загружать файлы с помощью PUT, загружать файлы с помощью многочастного POST /upload, создавать каталоги с помощью ?mkdir и удалять файлы с помощью ?delete внутри каталога, защищенного .goshs.
Удалив сам файл .goshs, злоумышленник может удалить политику аутентификации папки, а затем получить доступ к ранее защищенному содержимому без учетных данных. Это приводит к критическому обходу авторизации, влияющему на конфиденциальность, целостность и доступность. Эта уязвимость исправлена в версии 2.0.0-beta.4.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0