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
agxprobe — CVE-2026-64747 AGXG14P count-bitmask sonda de activación OOB (A15/iOS 26.5.2) | Kitploit
Herramientas/GitHubGitHub/jiuyi155/agxprobe
Seguridad iOSAnálisis de VulnerabilidadesExplotaciónIngeniería InversaFuzzingSeguridad MóvilExplotación de Binarios
GitHubjiuyi155/agxprobe

agxprobe

CVE-2026-64747 AGXG14P count-bitmask sonda de activación OOB (A15/iOS 26.5.2)

Ver Repositorio
1hace 10 díasAú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

AGXProbe — sonda de activación de CVE-2026-64747

Objetivo: iPhone 13 (A15) con iOS 26.5.2. Esta aplicación satura las rutas de cola de comandos de la GPU AGXG14P que, según lo invertido, alimentan una máscara de bits de recuento por cola (count >= 0x400 → escritura fuera de límites de una ranura de 0x40 bytes → corrupción del heap del kernel).

Lo que sabemos (por ingeniería inversa, 2026-08-10)

  • Función vulnerable 0xfffffff008003a8c (26.5.2): x1 = máscara de recuento de 32 bits. Por cada bit establecido n copia una plantilla fija de 0x40 bytes (00 00 00 00 + FF×60) en obj+0x1040+n*0x40 y obj+0x1540+n*0x40. Corrección en 26.6: rechazar count >= 0x400 (es decir, cualquier bit ≥ 10). Ranuras legales 0..9.
  • La máscara se acumula mediante OR a lo largo de un lote enviado a partir del campo [cmd+0x14] de cada comando (wrapper 0xfffffff00800c9d0). Los arrays de ranuras del lote (10 ranuras × 0x40) se encuentran en los offsets 0x1040 / 0x1540 del objeto.
  • count no es alcanzable mediante ninguna llamada/literal estático — la función se alcanza a través de una tabla de despacho construida en tiempo de ejecución (llamada PAC indirecta).
  • Desconocido: qué parámetro del espacio de usuario alimenta [cmd+0x14] (o la máscara). Eso es exactamente lo que esta sonda intenta descubrir empíricamente.

Hipótesis de activación

Un lote enviado en el que el campo 0x14 de algún comando (o el OR a través del lote) active un bit ≥ 10. Por lo tanto, esta sonda inunda cada superficie plausible con valores de bit alto: valores de señal de eventos compartidos 1<<k (k=0..31), máscaras densas (0x3FF|0x400..0xFFFFFFFF), lotes únicos de 256 búferes, fences, render + compute + blit, 32 colas.

Si la sonda activa el fallo, los síntomas esperados son, en severidad creciente:

  1. El sistema mata la aplicación a mitad de ejecución (efecto secundario en el espacio de usuario de una cola corrupta).
  2. Todo el dispositivo se reinicia (pánico del kernel por la escritura fuera de límites al heap que alcanza un objeto vivo). ← señal más fuerte.
  3. No ocurre nada (el recuento no es controlable a través de estas API → se necesita una superficie de activación distinta; informa del registro).

Instalación — ipa precompilado (generado por CI, sin firmar)

Un ipa listo se compila automáticamente mediante GitHub Actions en cada push y se deposita en los artefactos de compilación de la última ejecución (AGXProbe.ipa). Está sin firmar, así que instálalo con cualquier cargador lateral (sideloader) de Apple ID gratuita:

  • Windows: Sideloadly (o AltStore). Añade el ipa, tu Apple ID, haz clic en Start. La app se instala durante 7 días.
  • macOS: Sideloadly o Xcode (consulta Compilar más abajo).

El ipa actual: bundle id com.agxprobe.test, arm64, MinOS 17.0. Si un cargador lateral rechaza el bundle id, vuelve a firmarlo con un id único.

Compilar desde el código fuente (requiere un Mac — cualquier Mac, con una Apple ID gratuita basta)

  1. Abre AGXProbe.xcodeproj en Xcode (16.x).
  2. En el proyecto → target AGXProbe → Signing & Capabilities:
    • marca Automatically manage signing,
    • selecciona tu Team (tu Apple ID gratuita / equipo personal),
    • cambia PRODUCT_BUNDLE_IDENTIFIER (p. ej. com.you.agxprobe1) a algo único para que la firma tenga éxito.
  3. Conecta el iPhone 13 (iOS 26.5.2), selecciónalo como destino de ejecución (Device, no un simulador).
  4. Cmd-R. Si obtienes un error de "preferred signer" / aprovisionamiento, haz clic en Enable Development en el dispositivo cuando se te indique, y reintenta.

Ejecutar

  1. Lanza la aplicación. Muestra el nombre del dispositivo GPU en pantalla — confirma que aparece una GPU A15 (p. ej. "Apple A15 GPU") y no un simulador.
  2. Pulsa START. Observa el registro de consola verde.
  3. Las fases se ciclan automáticamente cada 200 iteraciones: eventStorm → inFlight → fenceStorm → multiQueue → computeHeavy → chainedEvents → mixed → (repeat).
  4. Déjala correr durante varios minutos. Mantén el dispositivo despierto (desactiva el bloqueo automático: Ajustes → Pantalla y brillo → Bloqueo automático → Nunca).

Interpretación de los resultados

  • El dispositivo se reinicia solo → la sonda disparó la escritura fuera de límites. Ahora captura el registro de pánico (abajo) — esto confirma el disparador y nos da el sitio del crash para apuntar el feng shui del heap.
  • El sistema mata la aplicación (la pantalla de inicio parpadea, "AGXProbe quit") → probablemente un impacto parcial; recopila también el registro.
  • Sigue ejecutándose después de 5+ minutos → el recuento probablemente no es alcanzable mediante estas API exactas. Guarda el registro en el dispositivo (agxprobe.log en Documents de la app, accesible mediante la app Archivos porque UIFileSharingEnabled está activado) y envíalo de vuelta.

Cómo obtener el registro de pánico

Si ha entrado en pánico: Ajustes → Privacidad y seguridad → Análisis y mejoras → Datos de análisis → busca el panic-full-<date> más reciente (o JetsamEvent / ipa-log-<timestamp> para una app eliminada) → Compartir / AirDrop / copia el final.

Las primeras líneas después de "panic(cpu ...)" muestran la función del kernel que está fallando: envíalas de vuelta.

Descargar herramienta