jsPDF — это библиотека для создания PDF-файлов на JavaScript. До версии 4.0.0 пользовательское управление первым аргументом метода loadFile в сборке node.js позволяло включать локальный файл или обход пути. Если ему предоставлена возможность передавать несанкционированные пути в метод loadFile, пользователь может получить содержимое произвольных файлов в локальной файловой системе, в которой запущен процесс узла.
Содержимое файла дословно включается в сгенерированные PDF-файлы. Другими затронутыми методами являются `addImage`, `html` и `addFont`. Затрагиваются только сборки библиотеки node.js, а именно файлы `dist/jspdf.node.js` и `dist/jspdf.node.min.js`.
Уязвимость исправлена в jsPDF@4.0.0. Эта версия по умолчанию ограничивает доступ к файловой системе. Это серьезное обновление не вносит других серьезных изменений.
Доступны некоторые обходные пути. В последних версиях узла jsPDF рекомендует использовать флаг --permission` в рабочей среде. Эта функция была введена экспериментально в версии 20.0.0 и стабильна начиная с версии 22.13.0/v23.5.0/v24.0.0.
Для более старых версий узлов очистите предоставленные пользователем пути перед передачей их в jsPDF.
Показать оригинальное описание (EN)
jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.0.0, user control of the first argument of the loadFile method in the node.js build allows local file inclusion/path traversal. If given the possibility to pass unsanitized paths to the loadFile method, a user can retrieve file contents of arbitrary files in the local file system the node process is running in. The file contents are included verbatim in the generated PDFs. Other affected methods are `addImage`, `html`, and `addFont`. Only the node.js builds of the library are affected, namely the `dist/jspdf.node.js` and `dist/jspdf.node.min.js` files. The vulnerability has been fixed in [email protected]. This version restricts file system access per default. This semver-major update does not introduce other breaking changes. Some workarounds areavailable. With recent node versions, jsPDF recommends using the `--permission` flag in production. The feature was introduced experimentally in v20.0.0 and is stable since v22.13.0/v23.5.0/v24.0.0. For older node versions, sanitize user-provided paths before passing them to jsPDF.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
Затронутые конфигурации ПО 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Parall Jspdf
cpe:2.3:a:parall:jspdf:*:*:*:*:*:node.js:*:*
|
— |
4.0.0
|