
Prueba de concepto para CVE-2024-27815, un desbordamiento de búfer en el heap del kernel XNU en sbconcat_mbufs() alcanzable a través de sockets de datagramas AF_UNIX, que provoca una denegación de servicio local.
Desbordamiento de búfer en el heap del kernel de XNU en sbconcat_mbufs() (bsd/kern/uipc_socket2.c),
alcanzable por un usuario local sin privilegios a través de la capa de sockets de datagramas AF_UNIX.
Una dirección de socket de hasta SOCK_MAXADDRLEN (255) bytes se copia en un área de datos de mbuf
de solo MLEN (224) bytes de longitud, sobrescribiendo hasta 31 bytes de la
cabecera (m_hdr) del mbuf adyacente. Todos los campos de esa cabecera excepto el
byte alto de mh_flags quedan bajo control del atacante, lo que provoca un pánico
del kernel.
xnu-10002.1.13 (macOS 14.0 / iOS 17.0)xnu-10063.121.3 — publicado públicamente el 13 de mayo de 2024 en
macOS 14.5, iOS 17.5, iPadOS 17.5, watchOS 10.5, tvOS 17.5 y visionOS 1.2CONFIG_MBUF_MCACHE (todas las compilaciones distribuidas)cve-2024-27815.c PoC trigger
README.md this file
cc -O2 -Wall -Wextra cve-2024-27815.c -o cve-2024-27815
./cve-2024-27815
En un kernel vulnerable, la carga útil provoca un pánico en la máquina; en un kernel parcheado, el proceso finaliza limpiamente.
SHA-256 de cve-2024-27815.c (revisión actual, rastreada en git):
$ sha256sum cve-2024-27815.c
90eab38b30683aa9c9f364b0f0e914e5b1e5f477086073e361352244a3ac55ac cve-2024-27815.c