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
php-exploit_cve-2022-31630 | Kitploit
Herramientas/GitHubGitHub/sepkascurty-cpu/php-exploit_cve-2022-31630
Análisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubsepkascurty-cpu/php-exploit_cve-2022-31630

php-exploit_cve-2022-31630

Ver Repositorio

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
1hace 5 mesesAún no revisado

#CVE-2022-31630 – Proof of Concept Exploit

Advertencia: Este código fue creado únicamente con fines educativos y de prueba en un entorno de laboratorio aislado. El uso en otros sistemas sin autorización es ilegal e irresponsable.


📌 Descripción

CVE-2022-31630 es una vulnerabilidad de lectura fuera de los límites (Out-of-Bounds Read, OOB) en la extensión GD de PHP, concretamente en la función imageloadfont(). Esta vulnerabilidad permite a un atacante que pueda controlar el archivo de fuente cargado por una aplicación PHP leer datos fuera de los límites del búfer asignado. Los posibles impactos son:

· Denial of Service (caída) – la aplicación deja de responder. · Divulgación de información – se pueden leer datos confidenciales de la memoria (por ejemplo, claves, tokens u otros fragmentos de datos).

Versiones de PHP afectadas

· PHP 7.4.x anteriores a 7.4.33 · PHP 8.0.x anteriores a 8.0.25 · PHP 8.1.x anteriores a 8.1.12

PHP 7.4.33 es la primera versión que recibió el parche para este CVE. Este repositorio proporciona una prueba de concepto (PoC) para mostrar la diferencia de comportamiento entre la versión vulnerable (≤ 7.4.32) y la versión parcheada (≥ 7.4.33).


🔍 Detalles técnicos

La vulnerabilidad radica en la falta de validación de entrada al leer archivos de fuente GD (formato .gdf). El archivo de fuente tiene la siguiente estructura de cabecera:

Desplazamiento (byte) Tamaño (byte) Descripción 0 2 Magic number (0x01BE) 2 2 Número de caracteres (nchars) 4 2 Ancho del carácter (width) (en píxeles) 6 2 Alto del carácter (height) 8 2 Número de bytes por carácter (char_offset)

Si el valor de width se establece muy grande (por ejemplo, 65535), el cálculo del tamaño del búfer para almacenar el mapa de bits del carácter se vuelve incorrecto. En consecuencia, el búfer asignado es demasiado pequeño. Cuando la función imagechar() lee posteriormente un carácter de esa fuente, accede a memoria fuera de los límites del búfer; esto es lo que se denomina lectura fuera de los límites (Out-of-Bounds Read).


🧪 Requisitos de prueba

· Docker (para ejecutar el entorno aislado) · PHP versión 7.4.32 o 7.4.33 (puede usar las imágenes de Docker php:7.4.32-cli / php:7.4.33-cli) · Extensión GD (se instalará dentro del contenedor)


🚀 Cómo usar el PoC

  1. Clone este repositorio
root@kitploit:~
git clone https://github.com/sepkascurty-cpu/php-exploit_cve-2022-31630.git
cd exploit_cve-2022-31630
  1. Ejecute el contenedor con la versión de PHP deseada

Para probar la versión vulnerable (7.4.32):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.32-cli bash

Para probar la versión parcheada (7.4.33):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.33-cli bash
  1. Dentro del contenedor, instale la extensión GD
root@kitploit:~
cd /app
apt-get update
apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
docker-php-ext-configure gd --with-freetype --with-jpeg
docker-php-ext-install gd
  1. Ejecute el exploit
root@kitploit:~
php exploit_cve-2022-31630.php

📊 Ejemplo de salida

Versión de PHP Resultado esperado 7.4.32 (vulnerable) El programa falla con un error de segmentación (Segmentation Fault) o se produce una fuga de memoria (se observan datos basura de la memoria). 7.4.33 (parcheada) La ejecución finaliza con normalidad, el archivo de imagen output.png se guarda y no hay fallos.


🛡️ Mitigación

· Actualice PHP a la versión más reciente que incluya el parche: · PHP 7.4.33 o posterior · PHP 8.0.25 o posterior · PHP 8.1.12 o posterior · Si no puede actualizar de inmediato, desactive la extensión GD o la función imageloadfont() si no es realmente necesaria. · Aplique el principio de privilegio mínimo (least privilege) en la aplicación para minimizar el impacto en caso de fuga de memoria.


📚 Referencias

· CVE-2022-31630 en NVD · Commit del parche en php-src · PHP Release Announcements


⚠️ Descargo de responsabilidad

Este repositorio se proporciona con fines educativos y de investigación en seguridad. El autor no se hace responsable del mal uso de este código. Asegúrese de probar únicamente en entornos que le pertenezcan o para los que haya obtenido autorización por escrito.


Creado para la comunidad de ciberseguridad de Indonesia.

Descargar herramienta