WWBN AVideo через коммит e01e41ecc (исправленная версия недоступна) предоставляет get_api_preauthorize в плагине/API/API.php как второй, недокументированный путь входа в систему. В отличие от get_api_signIn, который устанавливает ограничение скорости в 10 попыток за 5 минут с помощью checkRateLimit(), get_api_preauthorize выполняет ту же проверку учетных данных без регулирования для любого клиента, позволяя неограниченное удаленное подбор пароля для произвольных учетных записей, включая администратора. Конечная точка также действует как оракул учетных данных: она возвращает сообщение «Неверные учетные данные» как для правильных, так и для неправильных паролей, в то время как поле user_id в теле ответа раскрывает аутентифицированную личность (users_id:1 в случае успеха,users_id:0 в случае неудачи), а правильный пароль устанавливает файл cookie сеанса, который остается пригодным для использования для аутентифицированных запросов API.
В совокупности эти проблемы делают возможным неаутентифицированный перебор аккаунта.
Показать оригинальное описание (EN)
WWBN AVideo through commit e01e41ecc (no patched version available) exposes get_api_preauthorize in plugin/API/API.php as a second, undocumented login path. Unlike get_api_signIn, which enforces a rate limit of 10 attempts per 5 minutes via checkRateLimit(), get_api_preauthorize performs the same credential check with no throttling for any client, allowing unlimited remote password guessing against arbitrary accounts, including admin. The endpoint also acts as a credential oracle: it returns the message "Invalid credentials" for both correct and incorrect passwords, while the users_id field in the response body discloses the authenticated identity (users_id:1 on success, users_id:0 on failure), and a correct password establishes a session cookie that remains usable for authenticated API requests. Together these issues permit unauthenticated brute-force account takeover.
Характеристики атаки
Последствия
Строка CVSS v4.0