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-74936-gc-potato — Reproducción de una vulnerabilidad de use-after-free en WebAssembly en el motor JavaScript de Mozilla, que demuestra una condición de carrera determinista y proporciona una prueba de concepto controlada. | Kitploit
Herramientas/GitHubGitHub/sneakynachos/cve-2026-74936-gc-potato
Análisis de VulnerabilidadesExplotaciónAnálisis de BinariosPapers e Investigación
GitHubsneakynachos/cve-2026-74936-gc-potato

CVE-2026-74936-gc-potato

Reproducción de una vulnerabilidad de use-after-free en WebAssembly en el motor JavaScript de Mozilla, que demuestra una condición de carrera determinista y proporciona una prueba de concepto controlada.

Ver Repositorio
hace 20h 27mAú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-74936

Una reproducción no muy elegante. La línea base requirió algunos ajustes aquí.

Mozilla describe este problema como un use-after-free en WebAssembly. El parche público 9823b5c86ffa mantiene vivo el wasm::Code que provoca el trap exacto en JitActivation.

La prueba realiza una llamada tail cross-instance con firma incorrecta. Un hook de unwind del Debugger libera la última referencia al objetivo de la tabla y fuerza un GC de reducción mientras el motor maneja el trap. Antes de entrar en la llamada tail, Wasm invoca una importación normal de JavaScript que imprime el marcador.

Resultados

  • Padre pre-parche 9b564f641a42: estado 139 (SIGSEGV).
  • Corregido 9823b5c86ffa: imprime PASS: trap handled after target release y sale con 0.

Runway Controlado

poc-controlled.js expande la asignación del stub compartido del objetivo con 144 importaciones. Su continuación de throw obsoleto aterriza dentro de una de cuatro páginas ejecutables. Un portador de tiering lazy pre-creado incrusta 6,000 constantes SIMD únicas en un segmento de código optimizado de cuatro páginas. Durante el unwind de excepción, el GC libera el objetivo y el tiering síncrono reutiliza ese hueco. Un runway de syscall cada 64 bytes imprime UAF NACHOS e invoca exit_group(0).

Ejecutar:

root@kitploit:~
js --wasm-compiler=baseline+ion \
  --setpref=wasm_lazy_tiering_level=9 \
  --setpref=wasm_lazy_tiering_synchronous=true \
  --more-compartments poc-controlled.js

Fiabilidad observada en el shell pre-parche compilado desde el código fuente para Linux x86-64: 3/3 ejecuciones imprimieron el marcador y salieron con 0. El shell corregido correspondiente lanza el RuntimeError: indirect call signature mismatch normal y no lo imprime.

El PoC controlado utiliza funciones de Debugger y GC exclusivas del shell para hacer la carrera determinista. Establece control nativo en jsshell, no entrega desde una página web ni escapa del sandbox de contenido de Firefox.

Ejecutar con un shell de depuración equivalente:

root@kitploit:~
js --wasm-compiler=baseline --more-compartments poc.js

Esto es evidencia de regresión de ciclo de vida, no una primitiva de memoria ni un exploit. El marcador aparece en ambas compilaciones y no resulta del UAF.

Descargar herramienta