Impact
Les versions 4.1.392 et antérieures de PDF.js sont exposées à une vulnérabilité permettant l’exécution arbitraire de JavaScript [S2]. Ce problème, identifié comme CVE-2024-4367, est classé de gravité élevée avec un score CVSS de 8.8 [S1]. Un attaquant peut l’exploiter en incitant un utilisateur à ouvrir un fichier PDF spécialement conçu, qui exécute ensuite du code malveillant dans le contexte de la session du navigateur de l’utilisateur [S2]. Cela peut entraîner du cross-site scripting (XSS), un détournement de session et le vol d’informations sensibles [S2].
Cause racine
La vulnérabilité provient d’une mauvaise gestion de certaines fonctionnalités PDF : la bibliothèque ne nettoie pas suffisamment les données et ne vérifie pas correctement certaines conditions inhabituelles avant le rendu [S1]. Cette absence de validation permet l’exécution de scripts malveillants intégrés à un PDF pendant son traitement [S2].
Remédiation
La correction principale consiste à mettre à niveau la bibliothèque pdfjs-dist vers la version 4.2.67 ou une version ultérieure [S2]. En complément, une politique de sécurité du contenu (CSP) stricte peut fournir une défense en profondeur contre l’exécution de scripts non autorisés [S2].
Stratégie de détection
La détection de cette vulnérabilité consiste à rechercher la présence de versions concernées de la bibliothèque dans l’environnement de l’application [S2].
- Analyse des dépendances : analyser les manifestes du projet et les fichiers de verrouillage (tels que
package.jsonoupackage-lock.json) afin d’identifier les versions depdfjs-distégales ou antérieures à la 4.1.392 [S2]. - Identification de version : examiner les chaînes de version des ressources JavaScript chargées dans un environnement web afin d’identifier les instances vulnérables de la bibliothèque PDF.js [S2].
