CVE: CVE-2026-82560
Продукт: Ubuntu
Дата публикации: 19.09.2026
Критичность: HIGH
CVSS: 7.5 (3.1)
EPSS: 0,63%; процентиль 48,80%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В Ubuntu затронуты версии пакета perl, где Pod::Text до 6.1.1 обрабатывает POD-документ с глубоким вложенным =over без ограничения на рост вывода. При форматировании внешнего документа процесс Perl может потреблять CPU и память бесконечно, что приводит к отказу работы сервиса или системы.
Основные характеристики
Риск — локальный отказ от службы из-за неограниченного роста памяти при обработке специально подготовленного POD-документа. Уязвимость находится в модуле Pod::Text внутри пакета perl для Ubuntu.
- Тип ошибки: CWE-835, некорректная обработка данных, приводящая к исчерпанию ресурсов.
- CVSS 3.1:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, оценка 7.5 HIGH.
- Вектор атаки: удалённое формирование POD-документа, обрабатываемого Perl-приложением или сервисом Ubuntu.
- Факт эксплуатации: в предоставленных источниках нет подтверждённого публичного эксплойта и реальных инцидентов.
- EPSS: 0,63%, процентиль 48,80%.
Какие продукты и версии затронуты
В Ubuntu затронут пакет
perl во всех перечисленных дистрибутивах и версиях.- Ubuntu:Pro:14.04:LTS —
perl5.18.2-2ubuntu1.7+esm9, такжеlibcgi-fast-perl,libperl5.18,perl-base,perl-debug,perl-modules.
- Ubuntu:Pro:16.04:LTS —
perl5.22.1-9ubuntu0.9+esm4, такжеlibperl5.22,perl-base,perl-debug,perl-modules-5.22.
- Ubuntu:Pro:18.04:LTS —
perl5.26.1-6ubuntu0.7+esm4, такжеlibperl5.26,perl-base,perl-debug,perl-modules-5.26.
- Ubuntu:Pro:20.04:LTS —
perl5.30.0-9ubuntu0.5+esm4, такжеlibperl5.30,perl-base,perl-debug,perl-modules-5.30.
- Ubuntu:22.04:LTS —
perl5.34.0-3ubuntu1.9, такжеlibperl5.34,perl-base,perl-debug,perl-modules-5.34.
- Ubuntu:24.04:LTS —
perl5.38.2-3.2ubuntu0.6, такжеlibperl5.38t64,perl-base,perl-debug,perl-modules-5.38.
- Ubuntu:26.04:LTS —
perl5.40.1-7ubuntu0.3, такжеlibperl5.40,perl-base,perl-debug,perl-modules-5.40.
Причина уязвимости
В Pod::Text до 6.1.1 функция форматирования обрабатывает POD-разметку с вложенными блоками =over.
Каждый блок =over увеличивает отступ, который вычитается из ширины вывода при переносе строк. Когда доступное место для текста становится нулевым, подстановка для разбивки строк находит пустую строку.
Цикл не потребляет входные данные и продолжает добавлять отступы к выводу. В результате размер результата растёт без ограничения, а процесс Perl занимает всё больше CPU и памяти.
Исправление в Pod::Text 6.1.1 меняет логику обработки переноса строк так, чтобы цикл не зависал при нулевом доступном месте.
Как работает атака
Атакующий предоставляет POD-документ, который обрабатывается Perl-приложением на Ubuntu.
Документ содержит последовательность вложенных блоков =over. Каждый блок добавляет отступ к текущему маргиналу.
Функция wrap() вычитает маргинал из ширины вывода. Когда доступное пространство для текста становится равным нулю, регулярная подстановка для разбивки строк находит пустую строку.
Цикл обработки не сдвигает позицию во входных данных и продолжает добавлять отступы к выходному буферу. Вывод растёт без ограничения.
Процесс Perl потребляет CPU и память до отказа работы сервиса или системы.
Условия успешной эксплуатации
Для реализации DoS нужны следующие условия.
- Система Ubuntu с пакетом
perlиз списка затронутых версий.
- Наличие Perl-приложения или сервиса, которое обрабатывает внешний POD-документ.
- Возможность предоставить атакующему документ для форматирования.
- Отсутствие ограничений на размер входного документа или времени обработки.
- Отсутствие механизмов прерывания бесконечного цикла в приложении.
Возможный сценарий атаки
Сценарий описывает технический путь до отказа работы сервиса.
Perl-приложение принимает POD-документ от пользователя, API или файла.
Документ содержит много уровней =over. При обработке каждый уровень увеличивает маргинал.
Когда доступное место для текста становится нулевым, цикл не сдвигает позицию во входных данных и продолжает добавлять отступы к выводу.
Размер вывода растёт без ограничения, процесс Perl потребляет память и CPU.
Сервис перестаёт отвечать или система завершает процесс по механизму защиты памяти.
Есть ли публичный эксплойт
В предоставленных источниках нет публичного эксплойта, PoC-скрипта или подтверждённой эксплуатации CVE-2026-82560.
Источники содержат описание механизма уязвимости и ссылки на исходный код Pod::Text до исправления.
Отсутствие сведений не означает отсутствие эксплойта. Для проверки достаточно подготовить POD-документ с большим количеством вложенных =over и передать его Perl-приложению, которое использует Pod::Text.
Результат — рост памяти и CPU при обработке документа.
Признаки эксплуатации
Специфичные IOC для CVE-2026-82560 не подтверждены в источниках.
Доступны только общие точки контроля, которые не являются специфичными для этой уязвимости.
- Рост потребления памяти процессами Perl.
- Высокая загрузка CPU процессами Perl.
- Завершение процессов Perl по механизму OOM killer.
- Наличие файлов POD с большим количеством вложенных блоков =over.
- Задержки или отказы в Perl-сервисах, обрабатывающих документацию.
Как обнаружить атаку
Для обнаружения атаки можно использовать мониторинг ресурсов и журналы.
- Мониторинг потребления памяти процессами Perl.
- Мониторинг загрузки CPU процессами Perl.
- Проверка логов OOM killer на завершение процессов Perl.
- Анализ файлов POD на наличие глубокой вложенности =over.
- Проверка времени обработки документов в Perl-приложениях.
Как проверить свою версию
Проверка версии пакета
perl в Ubuntu.
Bash:
cat /etc/os-release
uname -r
apt-cache policy <имя-пакета>
ubuntu-security-status
Замените
<имя-пакета> на имя проверяемого пакета, например perl.Команда
apt-cache policy perl покажет установленную версию и доступные обновления.Команда
ubuntu-security-status покажет статус безопасности системы.Исправление
Обновите пакет
perl до версии с исправленным Pod::Text 6.1.1.- Ubuntu:Pro:14.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
- Ubuntu:Pro:16.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
- Ubuntu:Pro:18.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
- Ubuntu:Pro:20.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
- Ubuntu:22.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
- Ubuntu:24.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
- Ubuntu:26.04:LTS — обновить
perlдо версии с Pod::Text 6.1.1 или выше.
Используйте официальные обновления Ubuntu Security.
Временные меры защиты
Пока обновление не применено, можно ограничить влияние уязвимости.
- Ограничьте размер входного POD-документа в Perl-приложении.
- Установите таймаут обработки документа.
- Ограничьте глубину вложенности =over в POD-разметке.
- Отключите обработку внешнего POD-документа, если это возможно.
- Мониторинг ресурсов процессов Perl для раннего обнаружения отказа.
Как проверить устранение уязвимости
После обновления проверьте версию пакета
perl.
Bash:
apt-cache policy perl
Проверьте, что установленная версия соответствует исправленной версии с Pod::Text 6.1.1 или выше.
Запустите тестовый POD-документ с большим количеством вложенных =over и убедитесь, что обработка завершается без роста памяти.
Проверьте логи приложения на отсутствие ошибок обработки документов.
Вывод
CVE-2026-82560 — это DoS-уязвимость в Pod::Text внутри пакета
perl для Ubuntu. Уязвимость позволяет вызвать бесконечный цикл при обработке внешнего POD-документа с глубоким вложенным =over.Риск реализуется, если Perl-приложение обрабатывает внешний документ без ограничений на размер или время обработки.
Обновление пакета
perl до версии с Pod::Text 6.1.1 устраняет проблему. До обновления рекомендуется ограничить размер входных документов и установить таймауты обработки.Официальные источники
История обновлений статьи
- 23.09.2026 — Опубликована первая версия материала.
- 23.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
