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-64747 — Análisis de causa raíz y PoC de alcanzabilidad para CVE-2026-64747, un desbordamiento de búfer en la extensión de kernel AppleAVE2. Incluye el protocolo de cable IOKit invertido, las matemáticas del desbordamiento y un PoC en espacio de usuario que impulsa la ruta de configuración. | Kitploit
Herramientas/GitHubGitHub/eddinos2/cve-2026-64747
Frameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónIngeniería InversaSeguridad de HardwareExplotación de Binarios
GitHubeddinos2/cve-2026-64747

CVE-2026-64747

Ver Repositorio
hace 1 díaAú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 →

Acerca de

Análisis de causa raíz y PoC de alcanzabilidad para CVE-2026-64747, un desbordamiento de búfer en la extensión de kernel AppleAVE2. Incluye el protocolo de cable IOKit invertido, las matemáticas del desbordamiento y un PoC en espacio de usuario que impulsa la ruta de configuración.

Compartir

CVE-2026-64747 — Controlador de kernel AppleAVE2: formato de cable + PoC de alcanzabilidad

Análisis de causa raíz y prueba de concepto de alcanzabilidad para macOS de CVE-2026-64747, un desbordamiento de búfer en la extensión de kernel del codificador de video AppleAVE2 (com.apple.driver.AppleAVE2) corregido en macOS 26.6 (kext 905.40.1).

AppleAVE2 — Impacto: una app podría ejecutar código arbitrario con privilegios de kernel. Se abordó un desbordamiento de búfer en el cálculo del tamaño del búfer de trabajo del codificador con una verificación de límites mejorada.

Este repositorio documenta el protocolo de cable IOKit completamente invertido de AppleAVE2UserClient (crear sesión → configurar → procesar por fotograma), el sitio exacto del desbordamiento (una calculadora de tamaño de búfer de trabajo LRB de 32 bits en la ruta multipaso HEVC de 10 bits), y un PoC de espacio de usuario que abre el cliente de usuario, impulsa la ruta de configuración a través de la pila de validación del kernel y demuestra la diferencia entre las compilaciones vulnerables (905.36.1) y corregidas (905.40.1).

Nivel (honesto): alcanzabilidad + RE completa del protocolo + matemática de desbordamiento analíticamente probada. No es RCE, no se demuestra desbordamiento en vivo — el host del laboratorio ejecuta el kext corregido, y una compuerta de capacidad de hardware (presente en ambas compilaciones) rechaza las dimensiones de desbordamiento antes de que se ejecute la calculadora vulnerable. Disparar el desbordamiento requiere un objetivo cuya tabla de capacidades admita las dimensiones requeridas (ver FIRE_READY.md §5-6).

Contenido

archivoqué
poc_ave2_reach.cPoC de espacio de usuario IOKit: abre AppleAVE2UserClient, crea una sesión, impulsa la configuración con las estructuras invertidas. No se necesitan entitlements.
ave2_wire.hEl formato de cable invertido: números de selector, tamaños de estructura y cada desplazamiento de campo que importa (ancho/alto, encType, vistas/capas, croma, profundidad de bits)
WIRE_FORMAT.mdReferencia del formato de cable: diseño de la tabla de despacho, peculiaridad PAC, contratos por selector
FIRE_READY.mdLa matemática del desbordamiento (calculadora LRB modo-5), la entrada exacta para dispararlo, evidencia de ejecución en host parcheado y las incógnitas restantes
evidence/Captura de ioreg + registros del kernel de las ejecuciones en host parcheado (progresión de la pila de validación)

Compilar y ejecutar

root@kitploit:~
clang -O0 -g -arch arm64 -framework IOKit -framework CoreFoundation \
      -o poc_ave2_reach poc_ave2_reach.c
./poc_ave2_reach        # no se requiere root; el servicio se abre desde el contexto de usuario

El error en un párrafo

El codificador de AppleAVE2 calcula un tamaño de búfer de trabajo LRB (búfer de referencia de búsqueda lateral) con aritmética de 32 bits y sin verificación de desbordamiento. En la ruta multipaso HEVC de 10 bits (calculadora invocada con param_2 = 5), dimensiones como 64656×8080 (que pasan el límite w*h ≤ 0x1FFE0000 del controlador) hacen que la suma de componentes sea 0x80000000 — bit de signo establecido. La calculadora vulnerable devuelve la suma de 32 bits sin procesar; el tamaño se trata como negativo aguas abajo, se asigna un búfer DART/IOMMU de tamaño insuficiente y el DMA del codificador escribe más allá de él → corrupción de heap/DART del kernel → ejecución de código en kernel. La calculadora corregida añade verificaciones de signo por componente y una verificación de suma de 64 bits y registra LRB size overflow.

Resultados clave de RE

  • Tabla de despacho decodificada de la sección __const de la metaclase (filas de stride 0x18 = {func, inSize<<32, outSize<<32}, con una peculiaridad de puntero PAC).
  • IOServiceOpen debe usar type=1 (type=0 → creación rechazada).
  • sel1 = CREATE (estructura de 0x920 bytes: cadena de versión @+0x28, encType @+0x918), sel2 = DESTROY, sel4 = CONFIGURE (estructura de 0x1a0a0 bytes) = la entrada de la CVE.
  • Ancho @ entrada de configuración +0xd90, alto +0xd94; la configuración debe pasar por IOConnectCallAsyncStructMethod (la ruta síncrona se rechaza en la compuerta IO_Config:337 antes de la validación).
  • Progresión completa de la pila de validación documentada en el host parcheado (ejecuciones 4-7): compuerta asíncrona → límite de dimensiones → compuertas iNumViews/iNumLayers → la compuerta de capacidad del dispositivo que actualmente bloquea el desbordamiento.

Para fines educativos y de investigación defensiva. El error está parcheado en macOS actual; prueba solo en hardware que poseas.

Descargar herramienta