В свет вышли новые корректирующие обновления для интерпретатора Perl: версии 5.40.2 и 5.38.4. Эти обновления направлены на устранение уязвимости CVE-2024-56406, которая вызывает переполнение буфера при обработке определённых не-ASCII символов с помощью оператора "tr/../../". В результате уязвимости потенциально возможно выполнение произвольного кода, что делает обновление важным шагом для сохранения безопасности.
Подробности проблемы
Уязвимость затрагивает программы, в которых внешние данные используются без проверки в операторе "tr". В функции S_do_trans_invmap(), ответственной за выполнение операции транслитерации, при обработке не-ASCII символов происходит обращение к памяти за пределами выделенного буфера. Это связано с тем, что байты из исходного набора могут преобразовываться в двухбайтные последовательности UTF-8, что требует дополнительной памяти.
Эта проблема возникла после изменений, внесенных в 2020 году, когда было решено убрать дополнительные проверки выделенной памяти, считая, что округление размера в большую сторону будет достаточным.
Обновления и рекомендации
Для защиты от данной уязвимости пользователям рекомендуется установить последние версии Perl. Пострадавшие версии включают Perl 5.34, 5.36, 5.38 и 5.40. Проследить за обновлениями можно на страницах популярных дистрибутивов, включая Debian, Ubuntu, Fedora и FreeBSD. Обращаем внимание, что дистрибутивы RHEL 9, SUSE 15 и openSUSE Leap 15.6 не подвержены данной уязвимости благодаря использованию Perl 5.32 и 5.26.
Своевременное обновление до исправленных версий Perl усилит безопасность и стабильность вашей VPS или облачного хостинга, что важно для надёжной работы и защиты данных вашего бизнеса.