Куда я попал?
SECURITM это SGRC система, ? автоматизирующая процессы в службах информационной безопасности. SECURITM помогает построить и управлять ИСПДн, КИИ, ГИС, СМИБ/СУИБ, банковскими системами защиты.
А еще SECURITM это место для обмена опытом и наработками для служб безопасности.

BDU:2025-16211

CVSS: 4.9
23.04.2025

Уязвимость библиотеки для создания и редактирования PDF-документов OpenPDF, связанная с недостаточной проверкой вводимых данных, позволяющая нарушителю читать произвольные файлы

Уязвимость библиотеки для создания и редактирования PDF-документов OpenPDF связана с недостаточной проверкой вводимых данных. Эксплуатация уязвимости может позволить нарушителю читать произвольные файлы
Статус уязвимости:
Подтверждена в ходе исследований
Информация об устранении отсутствует
Дата выявления: 23.04.2025
Класс уязвимости: Уязвимость кода
Наличие эксплойта: Данные уточняются
Способ эксплуатации: Манипулирование ресурсами
Способ устранения: Нет данных
Меры по устранению: Компенсирующие меры:
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.
Прочая информация: Уязвимость выявлена исследователем: Никита Свешников (Positive Technologies).

Идентификатор типа ошибки

Идентификатор, установленный в соответствии с общим перечнем ошибок CWE
Идентификатор Описание
CWE-20 The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.

CVSS

Система общей оценки уязвимостей
Оценка Severity Версия Базовый вектор
4.9 MEDIUM 2.0 AV:L/AC:L/Au:N/C:C/I:N/A:N
Вендор:
  • LibrePDF
Тип ПО:
  • Прикладное ПО информационных систем
Наименование ПО:
  • OpenPDF
Версия ПО:
  • 2.0.4 (OpenPDF)
Ссылки на источники:

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.