- Регистрация
- Окт 16, 2022
- Сообщения
- 1,235
- Реакции
- 214
- Награды
- 2
Библиотека jsPDF для генерации PDF-документов в приложениях JavaScript уязвима к критической уязвимости, которая позволяет злоумышленнику похитить конфиденциальные данные из локальной файловой системы, включив их в сгенерированные файлы.
Уязвимость заключается в локальном включении файлов и обходе путей, что позволяет передавать необработанные пути механизму загрузки файлов (loadFile) в версиях jsPDF до 4.0. Она отслеживается как CVE-2025-68428 и получила оценку серьезности 9.2.
Библиотека jsPDF — это широко распространенный пакет, который еженедельно скачивают более 3,5 миллионов раз из реестра npm.
В сборках jsPDF для Node.js функция 'loadFile' используется для чтения локальной файловой системы. Проблема возникает, когда в качестве пути к файлу передается управляемый пользователем ввод, в результате чего jsPDF включает в сгенерированный PDF-файл содержимое этого файла.
Источник: Parallax
Это затрагивает и другие методы загрузки файлов, включая 'addImage', 'html' и 'addFont', поскольку все они могут вызывать функцию loadFile.
Согласно бюллетеню безопасности jsPDF , проблема затрагивает только сборки библиотеки для Node.js, а именно dist/jspdf.node.js и dist/jspdf.node.min.js . файлы
В подробном техническом отчете компания Endor Labs, специализирующаяся на безопасности приложений, заявляет, что риск эксплуатации низок или отсутствует, если пути к файлам жестко закодированы, получены из доверенной конфигурации или используются строгие списки разрешенных входных данных.
Уязвимость CVE-2025-68428 была исправлена в версии 4.0.0 jsPDF путем ограничения доступа к файловой системе по умолчанию и использования вместо этого режима разрешений Node.js.
Однако исследователи из Endor Labs отмечают , что этот режим является экспериментальным в Node 20, поэтому рекомендуется использовать версии 22.13.0, 23.5.0 или 24.0.0 и более поздние.
Ещё один важный момент: включение флага '--permission', предложенного разработчиками в качестве обходного пути, влияет на весь процесс Node.js, а не только на jsPDF.
Компания Endor Labs также подчеркивает, что чрезмерно широкие права доступа к файловой системе, добавленные к флагу конфигурации '--allow-fs-read', сводят на нет эффект от исправления.
Чрезмерно либеральная конфигурация
Источник: Endor Labs
Команда jsPDF рекомендует более старым версиям Node проверять предоставленные пользователем пути перед передачей их в jsPDF.
Учитывая широкое использование jsPDF во многих проектах, уязвимость CVE-2025-68428 является хорошим кандидатом для активной эксплуатации.

