Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-64705 — Análisis de causa raíz y prueba de concepto para CVE-2026-64705, un desbordamiento de montículo del kernel en xattr de HFS de macOS. Incluye imagen HFS+ armada, parcheador, analizador y un informe detallado para investigación educativa y defensiva. | Kitploit
Herramientas/GitHubGitHub/eddinos2/cve-2026-64705
Frameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónAnálisis de BinariosAprendizaje y Educación
GitHubeddinos2/cve-2026-64705

CVE-2026-64705

Análisis de causa raíz y prueba de concepto para CVE-2026-64705, un desbordamiento de montículo del kernel en xattr de HFS de macOS. Incluye imagen HFS+ armada, parcheador, analizador y un informe detallado para investigación educativa y defensiva.

Ver Repositorio
15hace 21 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

CVE-2026-64705 — Desbordamiento de montón del kernel en xattr de HFS (macOS)

Análisis de causa raíz y prueba de concepto para CVE-2026-64705, un desbordamiento de búfer en la extensión del kernel HFS corregido en macOS Sonoma 14.8.7 (HT127117):

HFS — Impacto: una app podría causar una terminación inesperada del sistema o escribir memoria del kernel. Se abordó un desbordamiento de búfer con una verificación de límites mejorada.

El PoC es una imagen de disco HFS+ armada. Montarla y leer un atributo extendido diseñado lleva al kext de HFS a un bucle bcopy sin límites de 64 bytes hacia un búfer de montón del kernel de 512 bytes → desbordamiento de montón del kernel con contenido del disco controlado por el atacante → pánico en builds vulnerables. Nivel de caída/pánico — no RCE.

  • Vulnerable: macOS ≤ 14.8.5 (kext hfs 650.140.2), y otras ramas anteriores al parche
  • Corregido: macOS 14.8.7 (hfs 650.140.2.701.4) — añade comprobaciones de acarreo adds/b.hs, terminación con conteo cero, y rechazo de total==0 / total>expected
  • Cadenas del parche (el contrato del validador): hfs_setxattr: %s has a malformed overflow extent, igual para getxattr.

Contenido

archivoqué es
poc-cve-2026-64705.dmgImagen HFS+ armada de 32 MB (archivo disparador + registros xattr diseñados)
weaponize.pyEl parcheador que construyó la imagen — re-deriva cada desplazamiento desde la propia imagen; funciona con cualquier imagen base compatible
parse_attr.pyAnalizador del árbol B de atributos usado para localizar/volcar los registros xattr
BUILD.mdReceta de build completa desde una imagen base limpia + los deltas hex exactos
WRITEUP.mdAnálisis de causa raíz: diff del kext (14.8.5 vs 14.8.7), bucle vulnerable, mecanismo

Disparador

En un sistema anterior al parche (o una VM de sacrificio — esto provoca pánico en el kernel):

root@kitploit:~
hdiutil attach -nobrowse poc-cve-2026-64705.dmg
xattr -l /Volumes/CVE64705/trigger.txt     # desbordamiento de montón del kernel -> pánico

En un sistema parcheado la misma imagen se monta correctamente y el disparador es rechazado por el nuevo validador — puedes observar la prueba diferencial en el registro del kernel:

root@kitploit:~
hfs_getxattr: bigattr has a malformed overflow extent

lo que también confirma que el registro diseñado lleva la ejecución exactamente hacia el recorrido parcheado (y anteriormente vulnerable).

Reconstruyendo la imagen

root@kitploit:~
hdiutil create -fs HFS+ -size 32m -volname CVE64705 base.dmg
hdiutil attach -nobrowse base.dmg
echo trigger > /Volumes/CVE64705/trigger.txt
xattr -w bigattr "$(head -c 8192 /dev/zero | base64)" /Volumes/CVE64705/trigger.txt
hdiutil detach /Volumes/CVE64705
python3 weaponize.py          # -> poc-cve-2026-64705.dmg

El bug en un párrafo

Para un xattr grande almacenado como kHFSPlusAttrForkData, hfs_getxattr_internal (y el espejo hfs_setxattr_internal) recorre los 8 descriptores de extensión del registro de desbordamiento. count_extent_blocks() omite cualquier descriptor cuyo blockCount exceda el total esperado y devuelve la suma de 32 bits sin comprobación de acarreo ni de cero. Si cada blockCount excede el total, el conteo vuelve a 0, blkcnt nunca avanza, y el bucle while (blkcnt < totalblocks) sigue copiando 64 bytes controlados por el atacante por iteración más allá de un búfer de montón de totalblocks*8 bytes. La variante de envoltura de enteros (blockCounts que suman más allá de 2^32) es la misma comprobación ausente; el parche 14.8.7 elimina ambas.

Para fines educativos y de investigación defensiva. El bug está parcheado en macOS actual; prueba solo en máquinas que te pertenezcan.

Descargar herramienta