Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-24688 — Prueba de concepto de exploit para CVE-2026-24688, una vulnerabilidad de denegación de servicio en el análisis de esquemas de pypdf. Incluye un generador de PDF malicioso y scripts de reproducción que demuestran el agotamiento de memoria y el bloqueo del sistema. | Kitploit
Herramientas/GitHubGitHub/joakimbulow/cve-2026-24688
Análisis de VulnerabilidadesExplotaciónFuzzingPapers e InvestigaciónAprendizaje y Educación
GitHubjoakimbulow/cve-2026-24688

CVE-2026-24688

Prueba de concepto de exploit para CVE-2026-24688, una vulnerabilidad de denegación de servicio en el análisis de esquemas de pypdf. Incluye un generador de PDF malicioso y scripts de reproducción que demuestran el agotamiento de memoria y el bloqueo del sistema.

Ver Repositorio
hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-24688 - pypdf - Vulnerabilidad DoS por Referencia Circular

Este repositorio incluye código de prueba de concepto para desencadenar CVE-2026-24688.

Resumen

Vulnerabilidad crítica de Denegación de Servicio en la lógica de análisis de esquemas (marcadores) de pypdf. Al procesar un PDF con referencias circulares en el esquema, el analizador entra en un bucle infinito que asigna memoria continuamente, consumiendo cientos de MB de memoria por segundo, en mi máquina (TM), y provoca un bloqueo completo del sistema.

Esto es un DoS a nivel de sistema, no solo un cuelgue de la aplicación.


Contenido

  • malicious_circular_outline.pdf - PDF de explotación con esquema circular (754 bytes)
  • create_malicious_pdf.py - Script para generar el PDF de explotación
  • simple_read_pdf.py - Script de prueba simple para reproducir la vulnerabilidad
  • test_pypdf.sh - Script de prueba automatizado (instala pypdf y ejecuta la prueba)
  • - Este archivo
README.md

ADVERTENCIA: Estas pruebas pueden bloquear tu sistema si no vigilas el consumo de memoria y lo cancelas a tiempo.


Prueba Automatizada (INSEGURA)

root@kitploit:~
# Ejecuta el script de prueba automatizado (con protección de tiempo de espera)
chmod +x test_pypdf.sh
./test_pypdf.sh

# Esto hará:
# 1. Instalar la versión vulnerable de pypdf
# 2. Ejecutar la prueba con un tiempo de espera de 15 segundos
# 3. Mostrar el comportamiento del consumo de memoria

Pruebas Manuales

Prueba 1: Prueba Controlada (10 segundos con tiempo de espera)

root@kitploit:~
# Instalar pypdf (versión vulnerable 6.6.0)
pip install "pypdf==6.6.0"

# Ejecutar con tiempo de espera
timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf

Prueba 2: Prueba de Bloqueo Completo (INSEGURA)

root@kitploit:~
# Instalar pypdf (versión vulnerable 6.6.0)
pip install "pypdf==6.6.0"

# Ejecutar sin tiempo de espera
python3 simple_read_pdf.py malicious_circular_outline.pdf

Detalles de la Vulnerabilidad

Código Vulnerable

Ubicación: pypdf/_doc_common.py - método _get_outline() (líneas 858-873)

root@kitploit:~
def _get_outline(self, node, outline=None):
    while True:  # ❌ ¡Sin detección de ciclos!
        outline_obj = self._build_outline_item(node)
        if outline_obj:
            outline.append(outline_obj)  # ❌ ¡Asignación de memoria en el bucle!
        
        if "/Next" not in node:
            break
        node = node["/Next"]  # ❌ Sigue referencias circulares

Causa Raíz: Sin conjunto de visitados, sin límite de iteraciones, asignación continua de memoria


Impacto

Resultados de Prueba Confirmados

Prueba en el Mundo Real:

  • Resultado: Bloqueo del sistema, reinicio forzado requerido
  • Cronología: ~5 minutos para fallo completo del sistema ()
  • Memoria: 30GB+ consumidos
  • CPUs: Todos los núcleos al 100% (sistema en thrashing)

Características del Ataque:

  • ✅ 100% CPU (inmediato)
  • ✅ Crecimiento lineal de memoria
  • ✅ Fallo a nivel de sistema
  • ✅ Reinicio forzado requerido
  • ✅ Posible pérdida de datos

Corrección

Corregido en la versión 6.6.2

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

Descargar herramienta