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-2025-14177 — PHP getimagesize() CVE-2025-14177 - Generador de exploits de fuga de memoria en el heap Cadena de exploit completamente funcional en Python | Kitploit
Herramientas/GitHubGitHub/34zy/cve-2025-14177
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónSeguridad WebPruebas de PenetraciónExplotación de Binarios
GitHub34zy/cve-2025-14177

CVE-2025-14177

PHP getimagesize() CVE-2025-14177 - Generador de exploits de fuga de memoria en el heap Cadena de exploit completamente funcional en Python

Ver Repositorio
1hace 3 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-2025-14177 — Fuga de memoria en el heap de PHP getimagesize()

Solo para pruebas de penetración autorizadas e investigación de seguridad.

Vulnerabilidad

CampoValor
CVECVE-2025-14177
CWECWE-524 (Uso de recurso no inicializado)
GravedadMODERADO — CVSS 6.3
Causa raízphp_read_stream_all_chunks() escribe fragmentos sucesivos en buffer[0], sobrescribiendo datos anteriores con memoria de heap no inicializada

Versiones afectadas

  • PHP < 8.1.34
  • PHP < 8.2.30
  • PHP < 8.3.29
  • PHP < 8.4.16
  • PHP < 8.5.1

Corregido en

  • PHP 8.1.34 / 8.2.30 / 8.3.29 / 8.4.16 / 8.5.1

Mecánica del error

root@kitploit:~
getimagesize("php://filter/.../resource=malicious.jpg", $info)
    └─ php_read_stream_all_chunks()
        ├─ Chunk 1 (8KB) → memcpy(buffer+0, chunk1, 8192)
        ├─ Chunk 2 (8KB) → memcpy(buffer+0, chunk2, 8192)  ← overwrites!
        └─ $info['APP1'] = chunk2 + uninitialized heap garbage

Un JPEG malicioso lleva un marcador APP1 sobredimensionado (16 KB) para forzar la ruta de lectura de múltiples fragmentos. El campo APP1 devuelto filtra memoria del heap que puede contener credenciales, tokens, datos de sesión o punteros ASLR.


Flujo de ataque

root@kitploit:~
[1] RECON      Encontrar app PHP que exponga la salida de getimagesize() (campo APP1)
[2] PREP       Crear malicious.jpg (APP1 = 16 KB)
[3] EXPLOIT    Subir → desencadenar getimagesize($file, $info)
[4] EXTRACT    Analizar $info['APP1'] en busca de datos filtrados del heap
[5] IMPACT     Robo de credenciales / extracción de tokens / omisión de ASLR

Uso

root@kitploit:~
python3 CVE-2025-14177.py [mode]
ModoAcción
demoDemostración completa del exploit (predeterminado)
genGenerar JPEG malicioso + código PHP de exploit
testGenerar JSON de casos de prueba
analyzeGenerar JPEG + simular + analizar fuga
flowImprimir diagrama de flujo de ataque

Salida (./exploit_output/)

root@kitploit:~
exploit_output/
├── malicious.jpg          # payload JPEG manipulado (APP1 = 16 KB)
├── exploit_standalone.php # exploit PHP desplegable
├── exploit_report.json    # informe de análisis completo
└── test_cases.json        # 3 escenarios de prueba

Escenarios de prueba

CasoVector
1Carga directa → getimagesize($_FILES[...], $info)
2Filtro de flujo + LFI (php://filter/read=.../resource=...)
3URL de imagen remota (/preview.php?url=attacker.com/malicious.jpg)

Detección

  • Marcadores APP1 grandes en cargas JPEG (> 8192 bytes)
  • Patrones de memoria inusuales en el array $info
  • Llamadas repetidas a getimagesize() con envoltorios php://filter
  • Exfiltración de datos codificados en hexadecimal en las respuestas

Mitigación

Actualice PHP a la versión parcheada. No hay solución alternativa: se requiere parche.

root@kitploit:~
php -v  # verificar versión

Si la actualización está bloqueada: elimine APP1 de $info antes de devolverlo al cliente, o deshabilite php://filter en allow_url_fopen.


Aviso legal

Esta herramienta es solo para pruebas de seguridad autorizadas. El uso no autorizado contra sistemas que no posee o para los que no tiene permiso explícito por escrito es ilegal.

Descargar herramienta