Один PDF — весь сервер в подарок: библиотека с 3,5 миллионами загрузок в неделю оказалась троянским конём

Дыра на 9.2 балла, патч вышел месяц назад — но кто проверяет обновления библиотек?


vwv64ljs8a5tbqyixiis321jgyw474q1.jpg


В популярной JavaScript-библиотеке jsPDF, которую используют для генерации PDF-файлов, обнаружили критическую уязвимость. Она позволяет злоумышленнику подсовывать произвольные пути к файлам и встраивать содержимое локальной файловой системы прямо в создаваемые документы.

Проблема получила идентификатор CVE-2025-68428 и оценку 9,2 балла по шкале CVSS. Речь идёт об уязвимости класса local file inclusion и path traversal : при передаче некорректно обработанного пути функция загрузки файлов может прочитать любой доступный файл на сервере и добавить его содержимое в итоговый PDF.

jsPDF — 1 из самых распространённых библиотек в своём сегменте. В npm она скачивается более 3,5 миллиона раз в неделю, поэтому потенциальная зона риска довольно широка.

Уязвимость затрагивает Node.js-версии jsPDF до релиза 4.0.0. В серверных сборках библиотеки используется функция loadFile, которая напрямую читает файлы из локальной файловой системы. Если путь к файлу формируется на основе пользовательского ввода, злоумышленник может указать, например, системные файлы или конфигурации с чувствительными данными, и jsPDF без дополнительных проверок включит их в PDF.