CVE-2025-15604

CRITICAL CVSS 3.1: 9,8 EPSS 0.06%
Обновлено 31 марта 2026
Tokuhirom
Параметр Значение
CVSS 9,8 (CRITICAL)
Уязвимые версии до 6.17
Устранено в версии 6.17
Тип уязвимости CWE-338, CWE-340
Поставщик Tokuhirom
Публичный эксплойт Нет

Версии Amon2 до 6.17 для Perl используют небезопасную реализацию random_string для функций безопасности. В версиях с 6.06 по 6.16 функция random_string попытается прочитать байты с устройства /dev/urandom, но если это недоступно, она генерирует байты путем объединения хэша SHA-1, засеянного встроенной функцией rand(), PID и времени эпохи с высоким разрешением. PID будет получен из небольшого набора чисел, и время эпохи можно будет угадать, если оно не утекло из заголовка HTTP Date.

Встроенная функция rand непригодна для криптографического использования. До версии 6.06 не было резервного варианта, когда /dev/urandom был недоступен. До версии 6.04 функция random_string использовала встроенную функцию rand() для генерации буквенно-цифровой строки в смешанном регистре.

Эту функцию можно использовать для генерации идентификаторов сеансов, генерации секретов для подписи или шифрования данных сеанса cookie и генерации токенов, используемых для защиты от подделки межсайтовых запросов (CSRF).

Показать оригинальное описание (EN)

Amon2 versions before 6.17 for Perl use an insecure random_string implementation for security functions. In versions 6.06 through 6.16, the random_string function will attempt to read bytes from the /dev/urandom device, but if that is unavailable then it generates bytes by concatenating a SHA-1 hash seeded with the built-in rand() function, the PID, and the high resolution epoch time. The PID will come from a small set of numbers, and the epoch time may be guessed, if it is not leaked from the HTTP Date header. The built-in rand function is unsuitable for cryptographic usage. Before version 6.06, there was no fallback when /dev/urandom was not available. Before version 6.04, the random_string function used the built-in rand() function to generate a mixed-case alphanumeric string. This function may be used for generating session ids, generating secrets for signing or encrypting cookie session data and generating tokens used for Cross Site Request Forgery (CSRF) protection.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Тип уязвимости (CWE)

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
Tokuhirom Amon2
cpe:2.3:a:tokuhirom:amon2:*:*:*:*:*:perl:*:*
6.17

Связанные уязвимости