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
CVE-2026-24688 — Preuve de concept d'exploitation pour CVE-2026-24688, une vulnérabilité de déni de service dans l'analyse des contours de pypdf. Inclut un générateur de PDF malveillant et des scripts de reproduction démontrant l'épuisement de la mémoire et le crash du système. | Kitploit
Outils/GitHubGitHub/joakimbulow/cve-2026-24688
Analyse des VulnérabilitésExploitationFuzzingArticles et RechercheApprentissage et Éducation
GitHubjoakimbulow/cve-2026-24688

CVE-2026-24688

Preuve de concept d'exploitation pour CVE-2026-24688, une vulnérabilité de déni de service dans l'analyse des contours de pypdf. Inclut un générateur de PDF malveillant et des scripts de reproduction démontrant l'épuisement de la mémoire et le crash du système.

Voir le dépôt
il y a 7 moisPas 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-2026-24688 - pypdf - Vulnérabilité DoS par référence circulaire

Ce dépôt contient le code de preuve de concept pour déclencher la CVE-2026-24688.

Résumé

Vulnérabilité critique de déni de service dans la logique d'analyse des plans (signets) de pypdf. Lors du traitement d'un PDF avec des références circulaires dans le plan, l'analyseur entre dans une boucle infinie qui alloue continuellement de la mémoire, consommant des centaines de Mo de mémoire par seconde, sur ma machine (TM), et conduit à un crash complet du système.

Il s'agit d'un DoS au niveau du système, pas seulement d'un blocage de l'application.


Contenu

  • malicious_circular_outline.pdf - PDF d'exploitation avec plan circulaire (754 octets)
  • create_malicious_pdf.py - Script pour générer le PDF d'exploitation
  • simple_read_pdf.py - Script de test simple pour reproduire la vulnérabilité
  • test_pypdf.sh - Script de test automatisé (installe pypdf et exécute le test)
  • README.md - Ce fichier

  • AVERTISSEMENT : Ces tests peuvent faire planter votre système si vous ne surveillez pas la consommation mémoire et ne l'annulez pas à temps.


    Test automatisé (DANGEREUX)

    root@kitploit:~
    # Exécutez le script de test automatisé (avec protection par délai d'attente)
    chmod +x test_pypdf.sh
    ./test_pypdf.sh
    
    # Cela va :
    # 1. Installer la version vulnérable de pypdf
    # 2. Exécuter le test avec un délai d'attente de 15 secondes
    # 3. Afficher le comportement de consommation mémoire
    

    Tests manuels

    Test 1 : Test contrôlé (10 secondes avec délai d'attente)

    root@kitploit:~
    # Installez pypdf (version vulnérable 6.6.0)
    pip install "pypdf==6.6.0"
    
    # Exécutez avec un délai d'attente
    timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf
    

    Test 2 : Test de crash complet (DANGEREUX)

    root@kitploit:~
    # Installez pypdf (version vulnérable 6.6.0)
    pip install "pypdf==6.6.0"
    
    # Exécutez sans délai d'attente
    python3 simple_read_pdf.py malicious_circular_outline.pdf
    

    Détails de la vulnérabilité

    Code vulnérable

    Emplacement : pypdf/_doc_common.py - méthode _get_outline() (lignes 858-873)

    root@kitploit:~
    def _get_outline(self, node, outline=None):
        while True:  # ❌ Aucune détection de cycle !
            outline_obj = self._build_outline_item(node)
            if outline_obj:
                outline.append(outline_obj)  # ❌ Allocation sur le tas dans la boucle !
            
            if "/Next" not in node:
                break
            node = node["/Next"]  # ❌ Suit les références circulaires
    

    Cause racine : Aucun ensemble de nœuds visités, aucune limite d'itération, allocation mémoire continue


    Impact

    Résultats de test confirmés

    Test en conditions réelles :

    • Résultat : Crash du système, redémarrage forcé requis
    • Chronologie : ~5 minutes pour une défaillance complète du système ()
    • Mémoire : 30 Go+ consommés
    • CPU : Tous les cœurs à 100 % (système en surcharge)

    Caractéristiques de l'attaque :

    • ✅ 100 % CPU (immédiat)
    • ✅ Croissance mémoire linéaire
    • ✅ Défaillance à l'échelle du système
    • ✅ Redémarrage forcé requis
    • ✅ Perte de données potentielle

    Correctif

    Corrigé dans la version 6.6.2

    https://github.com/py-pdf/pypdf/security/advisories/GHSA-2q4j-m29v-hq73

    Télécharger l’outil