Уязвимость CVE-2026-107794 в ExtUtils::Typemaps::STL::List для Perl приводит к исчерпанию памяти
В Perl-модуле ExtUtils::Typemaps::STL::List до версии 1.07 обнаружена уязвимость, из-за которой при обработке пустого списка выделяется массив размером 32 ГиБ. Это приводит к исчерпанию памяти и отказу в обслуживании. Проблема затрагивает проекты, использующие данный модуль для генерации XS-кода.
Подробности
Уязвимость затрагивает версии ExtUtils::Typemaps::STL::List ниже 1.07. Проблема кроется в OUTPUT-типемапах: при обработке пустого списка вызывается функция av_extend( av, len-1 ). Поскольку длина списка равна нулю, происходит целочисленное переполнение (underflow) значения len-1, в результате чего av_extend получает запрос на выделение массива с 2^32 слотами — это примерно 32 ГиБ памяти. Подобное выделение приводит к быстрому исчерпанию памяти и потенциальному отказу в обслуживании приложения. Уязвимости присвоен идентификатор CVE-2026-107794. Числовое значение CVSS в записи CVE не указано. Стоит отметить, что аналогичная проблема ранее была устранена в родственном модуле ExtUtils::Typemaps::STL::Vector версии 1.05, что подтверждает общий характер ошибки при работе с пустыми контейнерами.Что делать
Основная рекомендация — обновить ExtUtils::Typemaps::STL::List до версии 1.07 или более поздней, где проблема устранена. Обновление доступно через CPAN (например, командой cpan install ExtUtils::Typemaps::STL::List или через cpanm). Если немедленное обновление невозможно, следует рассмотреть временные меры: - ограничить потребление памяти для процессов, использующих модуль (например, через ulimit на Linux/Unix); - проанализировать код, генерируемый с помощью типемапов, на предмет обработки пустых списков и при необходимости скорректировать логику до применения модуля; - отслеживать сообщения об ошибках нехватки памяти в средах сборки. Также рекомендуется проверить зависимые проекты на наличие устаревших версий модуля и обновить их в рамках планового патчинга. Итог: CVE-2026-107794 — локальная уязвимость отказа в обслуживании, эксплуатация которой требует обработки пустого списка через уязвимые типемапы. Риск возрастает в средах сборки и CI/CD, где обработка недоверенных данных может спровоцировать исчерпание памяти. Своевременное обновление до версии 1.07 полностью устраняет проблему.Источник: CVE Project (cvelistV5)
