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 — POC para CVE-2026-24688 | Kitploit
Herramientas/GitHubGitHub/fomovet/cve-2026-24688
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónFuzzingAprendizaje y Educación
GitHubfomovet/cve-2026-24688

cve-2026-24688

POC para CVE-2026-24688

Ver Repositorio
2hace 2 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 la 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 colapso total 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)
  • README.md - Este archivo

ADVERTENCIA: Estas pruebas pueden provocar el colapso de su sistema si no vigila el consumo de memoria y lo cancela a tiempo.

Descargar herramienta

Prueba Automatizada (INSEGURA)

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

# Esto:
# 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:~
# Instale pypdf (versión vulnerable 6.6.0)
pip install "pypdf==6.6.0"

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

Prueba 2: Prueba de Colapso Total (INSEGURA)

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

# Ejecute 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 nodos visitados, sin límite de iteraciones, asignación continua de memoria


Impacto

Resultados de Pruebas Confirmados

Prueba en el mundo real:

  • Resultado: Colapso del sistema, reinicio forzado requerido
  • Cronología: ~5 minutos para el fallo total del sistema ()
  • Memoria: más de 30 GB consumidos
  • CPUs: Todos los núcleos al 100% (sistema en thrashing)

Características del ataque:

  • ✅ CPU al 100% (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