Администратор до версии 5.4.3 использует схему токена CSRF, которая передает как маску XOR, так и замаскированное значение в каждом токене (формат (rand XOR secret):rand), позволяя любому, кто наблюдает за одним токеном CSRF (например, посредством анализа сети, файлов журналов, заголовка Referrer или XSS), восстановить секрет сеанса с помощью одной операции XOR и подделать неограниченное количество действительных токенов. Реализация еще больше ослабляется из-за токена сеанса с низкой энтропией (rand(1,1e6), ~20 бит), который допускает слепой перебор, а также из-за использования свободного сравнения (==) при проверке токена, что позволяет манипулировать типами PHP. Эксплойт позволяет подделывать межсайтовые запросы к аутентифицированным сеансам, включая выполнение произвольных запросов SQL.
Показать оригинальное описание (EN)
Adminer before 5.4.3 uses a CSRF token scheme that transmits both the XOR mask and the masked value in every token (format (rand XOR secret):rand), allowing anyone who observes a single CSRF token (e.g., via network sniffing, log files, Referrer header, or XSS) to recover the session secret with a single XOR operation and forge unlimited valid tokens. The implementation is further weakened by a low-entropy session token (rand(1,1e6), ~20 bits) that permits blind brute-force, and by use of loose comparison (==) in token verification, enabling PHP type juggling. Exploitation enables cross-site request forgery against authenticated sessions, including execution of arbitrary SQL queries.
Характеристики атаки
Последствия
Строка CVSS v4.0