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.
HTTP::Session2 versions before 1.12 generate weak session IDs using the insecure rand() function instead of cryptographic randomness, potentially allowing attackers to predict or forge valid session tokens. Organizations using affected Perl-based web applications are at risk of session hijacking and unauthorized access.
تستخدم HTTP::Session2 قبل الإصدار 1.12 دالة rand() المدمجة غير الآمنة لتوليد معرّفات الجلسة، مما يجعلها قابلة للتنبؤ بها. يحاول الإصدار 1.02 وما بعده استخدام /dev/urandom، لكنه يعود إلى الطريقة غير الآمنة على الأنظمة التي لا تتوفر فيها هذه الأداة مثل Windows. يمكن للمهاجمين استخدام معلومات مثل وقت النظام ومعرّف العملية للتنبؤ برموز الجلسة الصحيحة.
إصدارات HTTP::Session2 السابقة للإصدار 1.12 تولد معرّفات جلسة ضعيفة باستخدام دالة rand() غير الآمنة بدلاً من العشوائية التشفيرية، مما قد يسمح للمهاجمين بتنبؤ أو تزوير رموز جلسة صحيحة. المنظمات التي تستخدم تطبيقات ويب قائمة على Perl المتأثرة معرضة لخطر اختطاف الجلسة والوصول غير المصرح به.
Upgrade HTTP::Session2 to version 1.12 or later immediately. Ensure /dev/urandom or equivalent cryptographic random source is available on all systems. For Windows deployments, verify fallback mechanisms use secure random generation. Review and invalidate all existing sessions after patching. Implement additional session security controls such as IP binding and short session timeouts.
قم بترقية HTTP::Session2 إلى الإصدار 1.12 أو أحدث فوراً. تأكد من توفر /dev/urandom أو مصدر عشوائي تشفيري معادل على جميع الأنظمة. بالنسبة لنشرات Windows، تحقق من أن آليات الرجوع تستخدم توليد عشوائي آمن. راجع وأبطل جميع الجلسات الموجودة بعد التصحيح. طبق عناصر تحكم أمان جلسة إضافية مثل ربط IP ومهل انتهاء الصلاحية القصيرة.