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-65330 — Prueba de concepto para una omisión del diversificador de PAC corregida en el manejador de setxattr de tmpfs en iOS 26.6, que demuestra la accesibilidad de la ruta de firma vulnerable desde el espacio de usuario. | Kitploit
Herramientas/GitHubGitHub/bytev0rtex/cve-2026-65330
Escalada de PrivilegiosSeguridad iOSAnálisis de VulnerabilidadesExplotaciónIngeniería InversaSeguridad MóvilExplotación de Binarios
GitHubbytev0rtex/cve-2026-65330

CVE-2026-65330

Prueba de concepto para una omisión del diversificador de PAC corregida en el manejador de setxattr de tmpfs en iOS 26.6, que demuestra la accesibilidad de la ruta de firma vulnerable desde el espacio de usuario.

Ver Repositorio
1hace 9h 41mAú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-65330 — Bypass de PAC en setxattr de tmpfs

Componente: XNU VFS — default_setxattr_doubleagent (VNOP de tmpfs)
Afecta: iOS / iPadOS 26.6 (23G71) y anteriores
Corregido en: iOS / iPadOS 26.6.1 (23G83)
Tipo: Diversificador PAC fijo en el firmado de punteros del manejador de xattr
Impacto: Control del PC desde contexto del kernel; escalada completa de privilegios cuando se combina con una primitiva de escritura en el kernel


Créditos

Descubierto por: Bhaswanth Chigurupati, Billy Jheng Bing Jhong, Pan Zhenpeng (@Peterpan0927) de STAR Labs SG Pte. Ltd.
(según Apple Security Advisory — iOS 26.6.1)


Causa raíz

default_setxattr_doubleagent, el manejador VNOP de xattr para el sistema de archivos tmpfs, firma el puntero de función del manejador de xattr usando un diversificador PAC fijo, constante en tiempo de compilación: #0x307a.

root@kitploit:~
; Kernel XNU — default_setxattr_doubleagent (descompilado)
handler_ptr = vnode_operations[VNOP_SETXATTR_SLOT];   // leído de la tabla vnop
signed_ptr  = PACDA(handler_ptr, 0x307a);             // firma con diversificador FIJO
... llamada AUTDA(signed_ptr, 0x307a) → BLR           // autentica y salta

Debido a que el diversificador es fijo y públicamente conocido, un atacante con una primitiva de escritura en el kernel puede:

  1. Forjar un puntero firmado con PAC hacia una dirección arbitraria del kernel:
    forged = PACIA(shellcode_addr, 0x307a)
  2. Escribir forged en la ranura correspondiente de la tabla vnode_operations del vnode objetivo.
  3. Llamar a setxattr() en cualquier archivo del montaje tmpfs → el kernel ejecuta shellcode_addr.

Rol en la cadena de explotación

En la cadena de escalada de privilegios del kernel de iOS 26.6:

root@kitploit:~
CVE-2026-64788 (UAF en IOGPUFamily)  →  primitiva de lectura/escritura en el kernel
CVE-2026-65330 (este fallo)          →  control del PC → root (uid=0)

La primitiva sign_ptr (PACIA con diversificador #0x307a) se implementa en el POC del jailbreak usando ensamblador ARM64e en línea. La primitiva de lectura/escritura en el kernel se usa para:

  1. Localizar el puntero v_op del vnode objetivo.
  2. Escribir el puntero PAC forjado en vnode_operations[VNOP_SETXATTR_SLOT].
  3. Disparar la ejecución mediante setxattr("/tmp/trigger", ...).

Comportamiento del PoC

El PoC independiente (poc_pac_bypass.c) ejercita la ruta VNOP vulnerable:

  • Crea un archivo de prueba en /var/root/poc65330_test
  • Llama a setxattr() con XATTR_NAME="com.apple.poc.cve65330.test" → alcanza default_setxattr_doubleagent
  • Ejecuta una pasada de estrés de 10 iteraciones para confirmar que el VNOP se ejercita repetidamente
  • Llama a removexattr() para alcanzar la ruta de limpieza
  • Elimina el archivo de prueba

El PoC no forja un puntero PAC ni sobrescribe datos del kernel — solo demuestra que la ruta vulnerable de firmado con #0x307a es alcanzable desde el espacio de usuario mediante una llamada normal al syscall setxattr().


Requisitos

  • iOS 26.6 (23G71) o anterior
  • Jailbreak o fuera del sandbox para la creación de archivos en /var/root/ (la llamada a setxattr en sí es alcanzable desde cualquier proceso — la ruta del archivo puede ajustarse a una ubicación escribible desde el sandbox)
  • Se requiere una primitiva de escritura en el kernel para la explotación completa con control del PC

Compilación

root@kitploit:~
# Binario C independiente (sin necesidad de frameworks)
clang -arch arm64 -o poc poc/poc_pac_bypass.c

# Para dispositivo (con firmado):
clang -arch arm64 -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -o poc poc/poc_pac_bypass.c
codesign -s "Apple Development" poc

Verificación del diversificador

El diversificador fijo 0x307a se verificó a partir del desensamblado del kernelcache 26.6 (23G71):

root@kitploit:~
; default_setxattr_doubleagent + 0x?? (aproximado)
MOVZ  x1, #0x307a          ; constante del diversificador
PACDA x0, x1               ; firma el puntero del manejador

El correspondiente AUTDA x0, x1 en el punto de llamada usa la misma constante, confirmando que cualquier puntero forjado con PACIA y diversificador 0x307a se autentica correctamente.


Cronología

FechaEvento
2026-08-17iOS 26.6.1 publicado con la corrección
2026-08-17Créditos de Apple publicados en el aviso de seguridad

Referencias

  • Apple Security Advisory — iOS 26.6.1
Descargar herramienta