Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/bhavyakcwestern/hacking-pdf.js-vulnerability
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPapers & ResearchLearning & Education
GitHubbhavyakcwestern/hacking-pdf.js-vulnerability

Hacking-pdf.js-vulnerability

CVE-2024-4367

Voir le dépôt
il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🚨 CVE-2024-4367 : Exécution arbitraire de JavaScript dans PDF.js

Ce projet démontre et analyse CVE-2024-4367, une vulnérabilité de haute sévérité dans la bibliothèque PDF.js de Mozilla qui permet l'exécution arbitraire de JavaScript via une vérification de type incorrecte dans le code de gestion des polices. Nos recherches montrent comment un PDF malveillant peut exécuter du JavaScript dans des contextes comme les applications Electron, pouvant potentiellement escalader vers une exécution de code à distance.

🔗 Dépôt GitHub : Hacking-pdf.js-vulnerability


📖 Présentation du projet

  • ID CVE : CVE-2024-4367
  • Gravité : Élevée (Score CVSS v3.1 : 8.8)
  • Logiciels affectés
    • PDF.js < 4.2.67
    • Mozilla Firefox < 126
    • Firefox ESR < 115.11
    • Thunderbird < 115.11
  • Exploit : Exécution arbitraire de JavaScript via un fontMatrix non assaini dans les polices intégrées.
  • Preuve de concept (PoC) : Les PDF ex1.pdf et ex-gist.pdf montrent des alertes ou une exécution de script à distance.

📂 Contenu du dépôt

  • src/components/ReactPdfViewer.tsx – Visionneuse React construite avec react-pdf 5.7.2 (inclus la version vulnérable pdfjs-dist 2.16.105)
  • ex1.pdf – PDF malveillant déclenchant une alerte
  • ex-gist.pdf – PDF malveillant qui récupère et exécute du JS distant
  • CVE-2024-4367_Report_Hacking_Project.pdf – Rapport technique complet et analyse de l'exploit

⚠️ Détails de la vulnérabilité

Les éléments du tableau fontMatrix de PDF.js n'étaient pas correctement validés – acceptant des chaînes injectées directement dans du JavaScript compilé avec new Function(...). Cela permet aux attaquants de concevoir des données de police malveillantes, provoquant une exécution de code arbitraire lorsque des opérations de type eval sont autorisées.

Exemple de chemin de code vulnérable :

root@kitploit:~
fontMatrix = ["alert('XSS')", 0, 0, 1, 0, 0]; // Payload injecté
// Résulte en une fonction compilée comme :
function drawGlyph() {
  transform("alert('XSS')", 0, 0, 1, 0, 0); // Exécution non sécurisée
}

🛡️ Stratégies d'atténuation pour CVE-2024-4367

Pour atténuer cette vulnérabilité et protéger les applications intégrant PDF.js (ou les bibliothèques qui le regroupent), adoptez les mesures suivantes :

✅ Mettre à jour les dépendances

  • Mettez à jour PDF.js vers la v 4.2.67 (ou ultérieure) qui corrige le défaut de vérification de type.
  • Si vous utilisez des wrappers (par ex., react-pdf), vérifiez qu'ils fournissent pdfjs-dist ≥ 4.2.67.

✅ Désactiver la compilation dynamique

  • Définissez isEvalSupported = false dans PDF.js pour désactiver la compilation dynamique des Function.

✅ Appliquer une vérification de type

  • Ajoutez des vérifications explicites typeof sur toutes les valeurs fournies par l'utilisateur (par ex., le tableau fontMatrix).

✅ Assainir les entrées

  • Rejetez ou assainissez toute entrée non numérique là où des nombres sont attendus.

✅ Utiliser des outils de surveillance des dépendances

  • Intégrez Snyk (ou similaire) dans votre CI/CD pour analyser automatiquement les dépendances.
  • Maintenez package.json/yarn.lock à jour et appliquez automatiquement les correctifs de sécurité.

✅ Maintenir les navigateurs et environnements d'exécution à jour

  • Utilisez les versions corrigées :
    • Firefox ≥ 126
    • Firefox ESR ≥ 115.11
    • Thunderbird ≥ 115.11
  • Mettez à jour les environnements d'exécution Electron pour qu'ils intègrent une version sécurisée de PDF.js.

✅ Appliquer des en-têtes de sécurité

Ajoutez une Content-Security-Policy stricte :

root@kitploit:~
Content-Security-Policy: script-src 'self'; object-src 'none';
Télécharger l’outil