Версии HTTP::Session2 до 1.12 для Perl для Perl могут генерировать слабые идентификаторы сеансов с помощью функции rand(). Генератор идентификаторов сеансов HTTP::Session2 возвращает хэш SHA-1, заполненный встроенной функцией rand, временем эпохи и PID. PID будет получен из небольшого набора чисел, и время эпохи можно будет угадать, если оно не утекло из заголовка HTTP Date.
Встроенная функция rand() непригодна для криптографического использования.
HTTP::Session2 после версии 1.02 попытается использовать устройство /dev/urandom для генерации идентификатора сеанса, но если устройство недоступно (например, в Windows), то он вернется к небезопасному методу, описанному выше.
Показать оригинальное описание (EN)
HTTP::Session2 versions before 1.12 for Perl for Perl may generate weak session ids using the rand() function. The HTTP::Session2 session id generator returns a SHA-1 hash seeded with the built-in rand function, the epoch time, and the PID. 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. HTTP::Session2 after version 1.02 will attempt to use the /dev/urandom device to generate a session id, but if the device is unavailable (for example, under Windows), then it will revert to the insecure method described above.