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
IOHIDFamily-PoC-Research — CVE-2026-28992 IOHIDFamily FastPathUserClient condición de carrera PoC — investigación de seguridad | Kitploit
Herramientas/GitHubGitHub/clogan9019-dotcom/iohidfamily-poc-research
Seguridad iOSAnálisis de VulnerabilidadesExplotaciónSeguridad MóvilPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubclogan9019-dotcom/iohidfamily-poc-research

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 →

IOHIDFamily-PoC-Research

CVE-2026-28992 IOHIDFamily FastPathUserClient condición de carrera PoC — investigación de seguridad

Ver Repositorio
3hace 2 mesesAún no revisado
Compartir

CVE-2026-28992 — PoC de FastPathUserClient de IOHIDFamily

Repositorio de investigación de seguridad. Dos aplicaciones PoC que demuestran las condiciones de carrera en IOHIDFamily's FastPathUserClient en iOS 18.7.1 y anteriores.

⚠️ Ambos PoCs provocarán un kernel panic y reiniciarán tu dispositivo. Guarda tu trabajo primero.


Resumen de la vulnerabilidad

CampoDetalle
CVECVE-2026-28992
ComponenteIOHIDFamily — IOHIDEventServiceFastPathUserClient
TipoCorrupción de memoria (condición de carrera / UAF)
Alcanzable desdeSandbox de aplicación normal, no se requieren entitlements
Corregido eniOS 18.7.9 / iOS 26.5
InvestigadorJohnny Franks (@zeroxjf)

Causa raíz

sel0 (puerta de entrada) verifica FastPathHasEntitlement y FastPathMotionEventEntitlement en el OSDictionary proporcionado por el llamante en lugar de los flags de entitlement almacenados durante initWithTask. Una aplicación en sandbox pasa la puerta incluyendo esas claves en su diccionario de entrada.

A partir de ahí, surgen dos vectores:


UAFPoc — Use-After-Free (Uso después de liberación)

UAFPoc/UAFPoc.xcodeproj

Carrera: close (sel1) elimina el estado del proveedor y limpia el offset +0x109 sin un bloqueo. copyEvent (sel2) verifica el offset +0x108 bajo un bloqueo por conexión, luego llama al proveedor. Múltiples conexiones al mismo proveedor significan que close y copyEvent se ejecutan en dominios de bloqueo diferentes sobre los mismos objetos compartidos del lado del proveedor.

Tipo de fallo:

  • A17+ (MTE): fallo de verificación de etiqueta MTE del kernel
  • Pre-A17: aborto de datos del kernel

AOPPanicPoc — Watchdog del coprocesador AOP

AOPPanicPoc/AOPPanicPoc.xcodeproj

Carrera: mach_port_destroy desencadena didTerminate → teardown asíncrono, sin sincronización con rutas de apertura sel0 concurrentes en otras conexiones. El teardown libera el estado del proveedor mientras los hilos de apertura lo recorren. También satura el buzón de los proveedores respaldados por SPU → timeout del watchdog de AOP.


Cómo compilar e instalar (sideload)

Requisitos

  • macOS con Xcode 15+
  • Cuenta de desarrollador de Apple (el nivel gratuito funciona para sideloading)
  • iPhone 16e con iOS 18.7.1 (o cualquier dispositivo iOS 15.0–18.7.8 / 26.0–26.4.x)

Pasos

root@kitploit:~
git clone https://github.com/clogan9019-dotcom/IOHIDFamily-PoC-Research.git
cd IOHIDFamily-PoC-Research

Variante UAF:

  1. Abre UAFPoc/UAFPoc.xcodeproj en Xcode
  2. Selecciona tu dispositivo en la barra superior
  3. Configura tu Team en Signing & Capabilities (tu Apple ID es suficiente)
  4. Product → Run (⌘R) — Xcode lo instalará y ejecutará directamente

Variante AOP:

  1. Abre AOPPanicPoc/AOPPanicPoc.xcodeproj en Xcode
  2. Los mismos pasos de firma
  3. Product → Run (⌘R)

Obtención del registro de pánico (panic log)

Después de que el dispositivo se reinicie:

  1. Conéctalo al Mac
  2. Abre Xcode → Window → Devices and Simulators → View Device Logs
  3. Busca el registro Panic más reciente (archivo .ips)
  4. Guárdalo en panic-logs/ y haz commit para su análisis

Alternativamente, desde Terminal:

root@kitploit:~
# Después del reinicio, obtén el registro
idevicecrashreport -u <UDID> ./panic-logs/

Qué buscar en el registro de pánico

En un A18 (iPhone 16e) deberías ver uno de:

  • MTE tag check fault — la variante UAF liberando y reasignando un objeto de heap etiquetado
  • AOP watchdog timeout — la variante AOP saturando el buzón SPU

Campos clave a anotar:

root@kitploit:~
Kernel version:      Darwin Kernel Version ...
Hardware Model:      iPhone17,5
panic(cpu N ...):    <la cadena de pánico real>
Backtrace:
  ... IOHIDEventServiceFastPathUserClient ...

Los nombres de función en el backtrace indican exactamente qué ruta de código se activó.


Cronología de divulgación

FechaEvento
DesconocidaError descubierto por Johnny Franks (@zeroxjf)
11 de mayo de 2026Corregido en iOS 18.7.9 / iOS 26.5
21 de junio de 2026Código PoC público liberado

Reportar a Apple

Las variantes sin parche o errores relacionados se pueden reportar en: https://security.apple.com/submit

Para errores del kernel: describe el componente, los pasos de reproducción, el tipo de fallo y adjunta el archivo de registro de pánico .ips.


CVEs relacionados en iOS 18.7.1

CVEComponenteEstado en 18.7.1
CVE-2025-43510AppleM2ScalerCSCDriver (DarkSword Stage 5)Sin parche (corregido en 18.7.2)
CVE-2026-28992IOHIDFamily FastPathUserClientSin parche (corregido en 18.7.9)
CVE-2026-43655AppleM2ScalerCSCDriver lectura fuera de límitesSin parche y nunca retroportado a 18.x
CVE-2026-20687UAF del kernel → escritura en memoria del kernelSin parche (corregido en 18.7.7)

Solo con fines educativos y de divulgación responsable.

Descargar herramienta