CVE: CVE-2026-82035
Продукт: Debian
Дата публикации: 14.09.2026
Критичность: HIGH
CVSS: 7.1 (4.0)
EPSS: нет данных; процентиль нет данных
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В пакете
pymupdf для Debian обнаружена уязвимость обхода путей (CWE-22) в функции extract_objects(). Атакующий может записать файлы за пределы целевой директории, передав специально сформированный документ. В Debian статус уязвимости во всех поддерживаемых релизах — open, исправление не выпущено.Основные характеристики
Риск заключается в возможности записи произвольных файлов в файловую систему при обработке документов, что может привести к компрометации целостности данных или выполнению кода при последующем использовании этих файлов.
- Тип ошибки: CWE-22 (Path Traversal). Отсутствует валидация имен файлов, полученных из содержимого документа.
- CVSS 4.0: 7.1 (HIGH). Вектор:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X. Высокое влияние на целостность (VI:H) и низкое на доступность (VA:L).
- Условия атаки: Требуется взаимодействие пользователя (UI:P) для открытия вредоносного файла. Аутентификация и привилегии не требуются (PR:N).
- Эксплуатация: Публичные данные о подтвержденной эксплуатации в дикой природе отсутствуют.
- EPSS: Данные не предоставлены в источниках.
Какие продукты и версии затронуты
Уязвимость затрагивает пакет
pymupdf в дистрибутиве Debian. Согласно Debian Security Tracker, во всех перечисленных ниже релизах статус уязвимости остается open, а приоритет (urgency) не присвоен. Исправленная версия в репозиториях Debian отсутствует.- bookworm: версия
1.21.1+ds1-1.
- trixie: версия
1.25.4+ds1-3+deb13u1.
- forky: версия
1.28.2+ds1-1.
- sid (unstable): версия
1.28.2+ds1-1.
Все перечисленные версии содержат уязвимый код, так как фиксация в Debian еще не произведена.
Причина уязвимости
Причина уязвимости кроется в функции
extract_objects() в файле src/__main__.py.При извлечении шрифтов (font branch) программа формирует имя выходного файла путем прямого присоединения имени BaseFont, взятого из метаданных документа, к директории, указанной пользователем.
Код не выполняет очистку (sanitization) имени файла: не удаляет последовательности
../ и не проверяет на абсолютные пути. Это нарушает границу доверия, позволяя данным из внешнего документа влиять на файловую систему за пределами целевой папки.Как работает атака
Атакующий создает документ (PDF, EPUB, XPS или FB2), в котором поле BaseFont содержит закодированные разделители путей или последовательности, декодирующиеся в
../ или абсолютные пути.При обработке такого файла функцией
extract_objects() PyMuPDF использует это имя для формирования пути к выходному файлу. Поскольку проверка на выход за пределы директории отсутствует, файл записывается в произвольное место файловой системы, доступное текущему пользователю.Аутентификация не требуется, но для запуска процесса обработки необходимо, чтобы пользователь открыл вредоносный файл.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо выполнить следующие условия:
- Наличие установленной уязвимой версии пакета
pymupdf.
- Доступ к системе, где пользователь может открыть или обработать вредоносный документ.
- Способность атакующего передать пользователю специально сформированный файл (PDF, EPUB, XPS, FB2).
- Отсутствие механизмов, предотвращающих запись файлов в произвольные директории (например, строгие политики AppArmor или SELinux, если они не настроены на блокировку таких операций).
Возможный сценарий атаки
Пользователь получает по электронной почте файл
report.pdf.При открытии файла в приложении, использующем PyMuPDF для извлечения объектов, срабатывает уязвимая логика. Имя шрифта из документа содержит последовательность, ведущую к записи файла в домашнюю директорию или системную папку.
В результате в системе появляется файл, контролируемый атакующим. Если этот файл будет исполнен или включен в конфигурацию, атакующий получит контроль над системой.
Есть ли публичный эксплойт
В предоставленных источниках отсутствуют сведения о публичном эксплойте, PoC или подтвержденной эксплуатации в реальных атаках.
Имеются ссылки на коммит с исправлением в репозитории разработчика и техническое описание уязвимости от VulnCheck. Отсутствие информации об эксплуатации не означает, что эксплойт не существует, но подтвержденных данных о его использовании в дикой природе нет.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для этой уязвимости в источниках не указаны.
Можно использовать общие, неспецифичные признаки:
- Появление неожиданных файлов в директориях, куда пользователь не должен был их записывать.
- Записи в логах приложений, использующих PyMuPDF, о создании файлов с необычными именами или путями.
- Аномальная активность процессов, связанных с обработкой документов, в отношении файловых операций за пределами рабочих директорий.
Как обнаружить атаку
Для обнаружения попытки эксплуатации рекомендуется:
- Мониторить логи приложений, использующих PyMuPDF, на предмет ошибок или предупреждений при записи файлов.
- Использовать инструменты контроля целостности файловой системы (FIM) для отслеживания создания новых файлов в критических директориях.
- Анализировать сетевой трафик на предмет передачи документов с подозрительными метаданными, если это возможно в рамках корпоративной инфраструктуры.
Как проверить свою версию
Для проверки установленной версии пакета
pymupdf в Debian используйте следующие команды. Замените <имя-пакета> на pymupdf.
Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy pymupdf
dpkg-query -W -f='${Package} ${Version}\n' pymupdf
Сравните полученную версию с версиями, указанными в разделе «Какие продукты и версии затронуты». Если версия совпадает с одной из уязвимых, система подвержена риску.
Исправление
Официального исправления в репозиториях Debian на текущий момент не существует. Статус уязвимости во всех релизах —
open.Рекомендуемые действия:
- Отслеживать обновления в Debian Security Tracker: Debian Security Tracker — CVE-2026-82035.
- При выходе исправленной версии пакета
pymupdfнемедленно обновить систему.
- Рассмотреть возможность применения патча из репозитория разработчика, если это допустимо политикой безопасности организации.
Временные меры защиты
Пока исправление не выпущено, можно принять следующие временные меры:
- Ограничить обработку документов из недоверенных источников.
- Запускать приложения, использующие PyMuPDF, в изолированных средах (контейнеры, виртуальные машины) с ограниченными правами записи в файловую систему.
- Настроить механизмы контроля доступа (AppArmor, SELinux) для блокировки записи файлов в критические директории процессами, работающими с документами.
Как проверить устранение уязвимости
После установки исправления (когда оно будет выпущено) необходимо:
- Проверить версию пакета командой
dpkg-query -W -f='${Package} ${Version}\n' pymupdf.
- Убедиться, что версия соответствует исправленной, указанной в анонсе безопасности Debian.
- Провести функциональное тестирование приложений, использующих PyMuPDF, для подтверждения корректной работы.
Вывод
Уязвимость CVE-2026-82035 представляет собой серьезную угрозу для систем Debian, использующих PyMuPDF. Отсутствие валидации имен файлов позволяет атакующему записывать файлы за пределы целевой директории.
Поскольку исправление в Debian еще не выпущено, администраторам следует принять временные меры по ограничению обработки недоверенных документов и внимательно следить за обновлениями безопасности. При появлении патча его необходимо установить в приоритетном порядке.
Официальные источники
История обновлений статьи
- 15.09.2026 — Опубликована первая версия материала.
