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-2022-2869-detector — CodeQL detector para la causa raíz de CVE-2022-2869 (CWE-191 desbordamiento inferior sin signo) mediante análisis de flujo de control/rango para identificar patrones vulnerables sin codificar funciones específicas. | Kitploit
Herramientas/GitHubGitHub/halahajyahia/cve-2022-2869-detector
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoAnálisis de Binarios
GitHubhalahajyahia/cve-2022-2869-detector

CVE-2022-2869-detector

CodeQL detector para la causa raíz de CVE-2022-2869 (CWE-191 desbordamiento inferior sin signo) mediante análisis de flujo de control/rango para identificar patrones vulnerables sin codificar funciones específicas.

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
hace 9h 56mAún no revisado

Detector CodeQL para CVE-2022-2869

Este proyecto implementa un detector CodeQL general para la debilidad raíz detrás de CVE-2022-2869: una resta sin signo que puede desbordarse por debajo (underflow) porque el programa no ha establecido una guarda suficiente de límite inferior/orden antes de la operación aritmética.

Por qué esta versión es diferente de la consulta anterior

El detector informa deliberadamente la causa raíz (CWE-191) en lugar de codificar de forma fija tiffcrop.c, nombres de funciones o nombres de variables. Utiliza la biblioteca estándar Overflow de CodeQL, cuyo razonamiento de guardas se basa en análisis de flujo de control/rangos. No utiliza el orden de números de línea del código fuente como sustituto del dominio del flujo de control.

Archivos

  • UnsignedUnderflow.ql — detector principal para enviar.
  • report.md — explicación de la vulnerabilidad y de la consulta.
  • test/mini_tiffcrop_like.c — casos inseguros similares a CVE más controles seguros.
  • test/mini_tiffcrop_variant.c — una variación estructuralmente diferente más control seguro.
  • test/EXPECTED_RESULTS.md — comportamiento positivo/negativo previsto.
  • original/ORIGINAL_VALIDATION.md — lo que debe demostrarse en LibTIFF vulnerable.

Instalar dependencias del paquete de consultas

Desde este directorio:

root@kitploit:~
codeql pack install

Crear una base de datos para las pruebas pequeñas

Ejemplo en Linux/WSL:

root@kitploit:~
codeql database create db-tests \
  --language=cpp \
  --command="gcc -std=c11 -O0 -g test/mini_tiffcrop_like.c -o /tmp/test1 && gcc -std=c11 -O0 -g test/mini_tiffcrop_variant.c -o /tmp/test2"

Ejecutar la consulta:

root@kitploit:~
codeql query run UnsignedUnderflow.ql --database=db-tests

Demostración en tiempo de ejecución con AddressSanitizer

La consulta CodeQL es análisis estático. ASan es evidencia opcional que muestra la consecuencia de las variaciones personalizadas.

root@kitploit:~
gcc -std=c11 -O0 -g -fsanitize=address test/mini_tiffcrop_like.c -o mini1
./mini1                 # seguro
./mini1 unsafe-x2       # error de memoria esperado

gcc -std=c11 -O0 -g -fsanitize=address test/mini_tiffcrop_variant.c -o mini2
./mini2                 # seguro
./mini2 unsafe          # error de memoria esperado

Validación original con LibTIFF

Construya una base de datos CodeQL a partir de una revisión vulnerable de LibTIFF (por ejemplo, 4.3.0) y luego ejecute exactamente la misma consulta UnsignedUnderflow.ql contra esa base de datos. Capture el resultado en tools/tiffcrop.c, especialmente en computeInputPixelOffsets.

El detector no debe modificarse para mencionar tiffcrop, computeInputPixelOffsets, x2 o crop_width; de lo contrario, estaría sobreajustado a una única instancia de CVE y fallaría el requisito de variación de la tarea.

Descargar herramienta