Корректирующий релиз Perl 5.14.2 с устранением двух уязвимостей
Спустя 4 месяца с момента выхода Perl 5.14.0 увидел свет корректирующий релиз Perl 5.14.2, полностью обратно-совместимый с базовой веткой и содержащий только исправление ошибок и улучшение документации. Относительно прошлой версии патч включает исправления от 9 авторов, насчитывает около 1200 строк и затрагивает 61 файл.
Из исправлений можно отметить устранение двух уязвимостей:
CVE-2011-2728: выход за допустимые границы памяти при вызове функции File::Glob::bsd_glob() с неподдерживаемым атрибутом GLOB_ALTDIRFUNC. В случае если скрипт получает параметры вызова File::Glob::bsd_glob() из подконтрольных атакующему внешних источников, возможна организация выполнения кода в систем или инициирование краха. Проблема решена запрещением использования любых неподдерживаемых флагов и установкой всех неиспользуемых указателей в NULL;
CVE-2011-2939: переполнение буфера в функции decode_xs из состава модуля Encode. Организовав перекодирование функцией decode_xs специально оформленного блока, злоумышленник может добиться выполнения своего кода в системе.
Из несвязанных с безопасностью изменений можно выделить обновление модулей CPAN (1.9600_01), CPAN::Distribution (1.9602_01), Encode (2.42_01), File::Glob (1.13) и PerlIO::scalar (0.11_01). Для платформы HP-UX PA-RISC/64 налажена поддержка gcc-4.x (не все тесты завершались успешно), обеспечена возможность сборки в Mac OS X 10.7 Lion. Устранена утечка памяти при вызове caller из модуля DB. Решена проблема с крахом при использовании регулярных выражений с определенной комбинацией модификаторов "/aa" и escape-последовательностей "". Устранена неприятная ошибка в utf8::decode, из-за которой могло наблюдаться появление в хэшах двух элементах с одинаковым ключом.