
CVE-2026-64747 AGXG14P count-bitmask sonda de activación OOB (A15/iOS 26.5.2)
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).
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.[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).[cmd+0x14] (o la máscara). Eso es exactamente lo que esta sonda intenta descubrir empíricamente.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:
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:
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.
AGXProbe.xcodeproj en Xcode (16.x).PRODUCT_BUNDLE_IDENTIFIER (p. ej. com.you.agxprobe1) a
algo único para que la firma tenga éxito.eventStorm → inFlight → fenceStorm → multiQueue → computeHeavy → chainedEvents → mixed → (repeat).agxprobe.log en Documents de la app, accesible mediante la app Archivos porque UIFileSharingEnabled está activado) y envíalo de vuelta.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.