Cette faille critique dans jsPDF (CVE-2025-68428) peut exposer les données de votre serveur
Avec plus de 3,5 millions de téléchargements par semaine sur NPM, autant vous dire que la bibliothèque jsPDF est très populaire. Malheureusement, jsPDF est affecté par une faille de sécurité critique : la CVE-2025-68428. Quels sont les risques ? Comment se protéger ? Faisons le point.
Les applications basées sur Node.js sont susceptibles d'utiliser la bibliothèque jsPDF, en particulier pour la génération de PDF à l'aide de JavaScript. Cela signifie que, sans le savoir, vous utilisez peut-être une application Web qui s'appuie sur jsPDF en tant que dépendance.
La nouvelle faille de sécurité critique découverte dans jsPDF peut mener à une fuite de données. En effet, si un attaquant parvient à manipuler la fonction de génération du PDF, cela peut mener à une fuite d'informations plus ou moins sensibles.
"Si la possibilité est donnée de transmettre des chemins non sécurisés à la méthode loadFile, un utilisateur peut récupérer le contenu de fichiers arbitraires dans le système de fichiers local où s'exécute le processus node. Le contenu des fichiers est inclus tel quel dans les fichiers PDF générés.", peut-on lire sur le site du NIST. Comprenez : un fichier PDF généré par jsPDF peut incorporer le contenu de n'importe quel fichier présent sur le serveur.
Néanmoins, les chercheurs d'Endor Labs estiment qu'il y a peu de chances que cette vulnérabilité puisse être exploitée.
En réalité, l'exploitation dépend de la qualité du code : "La question centrale est de savoir si un attaquant ou un utilisateur peut contrôler le premier argument transmis aux méthodes concernées (loadFile, addImage, html, addFont). Si les chemins d'accès aux fichiers sont codés en dur ou proviennent de sources fiables, le risque est considérablement réduit.", peut-on lire dans ce rapport.

Le problème de sécurité se situe dans plusieurs méthodes déclarées dans le code de jsPDF : loadFile, addImage,html et addFont. Cependant, seules les versions Node.js de la bibliothèque sont concernées par cette vulnérabilité, à savoir deux fichiers : dist/jspdf.node.js et dist/jspdf.node.min.js.
Comment se protéger de la CVE-2025-68428 ?
La vulnérabilité CVE-2025-68428 a été patchée dans la version 4.0.0 de jsPDF, publiée le 3 janvier 2026. Toutes les versions antérieures sont vulnérables. Cette nouvelle version restreint l'accès au système de fichiers par défaut.
D'après ce que j'ai compris, jsPDF 4.0.0 a besoin d'une version minimale de Node.js : "Il nécessite Node.js avec le mode autorisation, introduit à titre expérimental dans la version 20.0.0 et stable depuis les versions 22.13.0/23.5.0/24.0.0.", expliquent les chercheurs. L'approche recommandée étant d'utiliser le paramètre --permission lors de l'exécution.
Cette faille de sécurité n'est pas exploitée pour le moment, et l'exploitation ne semble pas évidente, mais jsPDF est très populaire. La faille étant critique, il vaut mieux être méfiant et faire le nécessaire.
"Les organisations qui exécutent jsPDF dans des environnements côté serveur où les entrées utilisateur atteignent des méthodes vulnérables doivent considérer cela comme une mesure corrective hautement prioritaire.", précisent les chercheurs d'Endor Labs.
Image d'illustration générée par IA.

