BDU:2025-16210
Средний уровень опасности (базовая оценка CVSS 2.0 составляет 4,9) Средний уровень опасности (базовая оценка CVSS 3.1 составляет 6,2) Средний уровень опасности (оценка CVSS 4.0 составляет 6,9) CVSS 6.199999809265137 · AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NУязвимость библиотеки для создания и редактирования PDF-документов OpenPDF, связанная с недостаточной проверкой вводимых данных, позволяющая нарушителю читать произвольные файлы
Описание
Уязвимость библиотеки для создания и редактирования PDF-документов OpenPDF связана с недостаточной проверкой вводимых данных. Эксплуатация уязвимости может позволить нарушителю читать произвольные файлы
Способ устранения
Компенсирующие меры: 1. Санитизация HTML-кода перед передачей его в библиотеку: 1.1. Удаление скриптов и фреймов: Используйте надежные библиотеки для санитизации (например, Bleach для Python, HTML Purifier для PHP, или DOMPurify для JS). 1.2. Белый список тегов: Разрешить только базовые и "безопасные" теги (<b>, <i>, <p>). Полностью блокировать <iframe>, <script>, <link>, <embed>, <object>. 1.3. Очистка ссылок: Удаляйте атрибуты, которые могут вести к локальным файлам или внутренним ресурсам (например, src="file:///etc/passwd"). 2. Использование подготовленного шаблона для размещения данных от пользователя и дальнейшей генерации PDF документа. Особое внимание необходимо уделить данным, передаваемым от пользователя. Они должны проходить строжайшую санитизацию. Если пользователь передает адрес картинки или тег img с атрибутом src, то необходимо проверить, что в URL начинается с http/https схемы (пункт 1.3), URL адрес не указывает на внутренний адрес при серверной генерации (к примеру 127.0.0.1), или путь до изображения не выходит за пределы DOCUMENT_ROOT или не запрашивается файл, к которому доступа не должно быть у текущего пользователя. 3.1. Отключение доступа к локальным файлам: Например, флаг --disable-local-file-access в wkhtmltopdf. 3.2. Отключение JavaScript: Если PDF не требует динамического рендеринга, используйте --disable-javascript. 3.3. Отключение внешних ресурсов: По возможности запретить загрузку внешних изображений и CSS (--no-images или isRemoteEnabled = false). 4. Минимизация пользовательских привилегий. Запуск процессов от имени пользователя с доступом «только на чтение» к пустой директории. Это предотвратит чтение системных файлов через Path Traversal. (При запросе изображения, должна быть проверка на разрешение текущего пользователя запрашивать такое изображение) 5. Запуск генератора в отдельном контейнере и последующее органичение доступа контейнера к внутренней сети компании и сети Интернет; 6. Использование средств межсетевого экранирования для ограничения возможности удалённого доступа к устройствам; 7. Перенос генерации PDF на сторону клиента (браузера пользователя) с помощью библиотек типа jsPDF.
Сведения записи
Уязвимое программное обеспечение
| Производитель | Название | Версия | Платформа |
|---|---|---|---|
| LibrePDF | OpenPDF | 2.0.4 | Не указана |
Чтобы такие записи находились не вручную, ведите реестр программного обеспечения: в личном кабинете уязвимости сопоставляются с вашим ПО, а работы по устранению попадают в план. Завести кабинет →
Источник: Банк данных угроз безопасности информации ФСТЭК России. Данные выгружены 17.08.2026, записей в справочнике — 92920. Справочник не является официальным ресурсом ФСТЭК России: сверяйте сведения с первоисточником.