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-7482 — Reproduce la lectura fuera de límites del heap de CVE-2026-7482 en la carga y cuantización GGUF de Ollama, con análisis diferencial de artefactos cuantizados para demostrar la influencia del OOB. | Kitploit
Herramientas/GitHubGitHub/szybnev/cve-2026-7482
Análisis de VulnerabilidadesExplotaciónFuzzingAnálisis de BinariosPapers e Investigación
GitHubszybnev/cve-2026-7482

CVE-2026-7482

Reproduce la lectura fuera de límites del heap de CVE-2026-7482 en la carga y cuantización GGUF de Ollama, con análisis diferencial de artefactos cuantizados para demostrar la influencia del OOB.

Ver Repositorio
113hace 4 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-7482: Reproducción de lectura fuera de límites (Heap OOB) en GGUF de Ollama

Este repositorio contiene mi script de reproducción local para CVE-2026-7482, una lectura fuera de límites en el montón (heap out-of-bounds read) en las rutas vulnerables de carga y cuantización de GGUF de Ollama.

El resultado importante de este trabajo es limitado: pude hacer que la condición de Heap OOB ocurriera de forma fiable y producir artefactos GGUF cuantizados influenciados por OOB. No pude demostrar un impacto claro de caja negra, como la recuperación fiable de secretos en texto plano o la extracción directa de cadenas canary del artefacto resultante.

Qué Hace Este PoC

exp.py crea dos archivos GGUF:

  • un GGUF truncado malicioso con un tensor que declara más bytes de los que el archivo realmente contiene;
  • un GGUF de control completo relleno con ceros con la misma forma de tensor declarada.

Sube ambos archivos a una instancia vulnerable de Ollama a través de la API local de Ollama, activa la cuantización con /api/create, copia los blobs GGUF generados desde el contenedor Docker local y compara la salida maliciosa con la salida de control de ceros.

La comparación diferencial es útil porque muestra que la ruta de cuantización vulnerable utilizó bytes que no estaban presentes en el archivo GGUF malicioso original. En mis pruebas, este comportamiento fue estable en Ollama 0.17.0 y rechazado por la ruta corregida .

0.17.1

Requisitos

  • Python 3 con requests
  • Acceso a Docker para el contenedor vulnerable de Ollama
  • Ollama 0.17.0 expuesto en un puerto API local
  • Un nombre de contenedor de prueba vulnerable, por ejemplo ollama-old-test

Ejemplo de objetivo de laboratorio:

root@kitploit:~
docker run -d --name ollama-old-test -p 11435:11434 ollama/ollama:0.17.0

Uso

Instala la única dependencia de Python:

root@kitploit:~
python3 -m pip install requests

Ejecuta la prueba predeterminada contra http://localhost:11435 y el contenedor ollama-old-test:

root@kitploit:~
python3 exp.py

Argumentos explícitos:

root@kitploit:~
python3 exp.py http://localhost:11435 ollama-old-test Q4_K_M F16
python3 exp.py http://localhost:11435 ollama-old-test Q8_0 F16
python3 exp.py http://localhost:11435 ollama-old-test Q8_0 F32

El script escribe artefactos locales como:

  • malicious_model.gguf
  • control_model.gguf
  • quantized_model.gguf
  • control_quantized_model.gguf
  • q8_dequantized_f32.bin
  • q8_pseudo_f16.bin
  • q8_pseudo_f16.txt

Hallazgos

En mis pruebas locales, la versión vulnerable de Ollama creó salidas cuantizadas donde la carga útil del tensor malicioso difería de un tensor de control de ceros a pesar de que el archivo GGUF malicioso no contenía esos bytes.

Eso es suficiente para mostrar un artefacto influenciado por OOB. No es suficiente para afirmar una divulgación práctica de datos en caja negra.

También probé datos estilo canary en prompts de modelos concurrentes y busqué en los artefactos generados, los bytes float32 descuantizados Q8_0 y la salida de reconstrucción pseudo-F16. No recuperé canaries exactos ni fragmentos de texto plano significativos.

La razón probable es que los bytes no se copian como memoria bruta del montón. Pasan a través del pipeline de conversión y cuantización del modelo:

root@kitploit:~
bytes del montón -> interpretados como valores de tensor F16/F32 -> convertidos/cuantizados -> salida de tensor GGUF

Esta ruta es con pérdidas, especialmente con formatos cuantizados como Q4_K_M. Q8_0 conserva más información numérica que Q4_K_M, pero aun así no produjo una recuperación fiable de texto plano en mis pruebas de estilo caja negra.

Alcance y Limitaciones

Esto es una reproducción de laboratorio local y una ayuda para el análisis de artefactos.

No proporciona un primitivo fiable de exfiltración remota de secretos. También requiere acceso local a Docker para copiar el blob generado por Ollama desde el contenedor de prueba, por lo que el paso de análisis no es un flujo de trabajo puramente remoto de caja negra.

La conclusión práctica de mis pruebas es:

  • El comportamiento de Heap OOB es reproducible.
  • Los artefactos cuantizados influenciados por OOB son observables.
  • No se demostró un impacto claro de texto plano en caja negra.

Referencias

  • Entrada NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-7482
  • Commit de corrección de Ollama: https://github.com/ollama/ollama/commit/88d57d0483cca907e0b23a968c83627a20b21047

Trabajo Relacionado

También existe un repositorio PoC separado de 0x0OZ:

https://github.com/0x0OZ/CVE-2026-7482-PoC

Esa implementación demuestra un flujo de trabajo más sólido de estilo caja blanca al enviar el artefacto del modelo generado a un registro controlado. Con la corrección del flujo de subida al registro de mi PR, se completa limpiamente en mi laboratorio local:

https://github.com/0x0OZ/CVE-2026-7482-PoC/pull/1

Incluso con esa mejor ruta de recopilación de artefactos de extremo a extremo, la misma advertencia sobre la calidad de los datos sigue siendo importante: la salida son datos cuantizados/transformados por el modelo, no un volcado directo de memoria bruta del montón.

Aviso Legal

Este repositorio es solo para investigación de vulnerabilidades autorizada y reproducción defensiva. Prueba únicamente contra sistemas que poseas o para los que tengas permiso explícito de evaluación.

Descargar herramienta