
Proof-of-concept di trigger per CVE-2024-27815, un heap buffer overflow nel kernel XNU in sbconcat_mbufs() raggiungibile tramite socket datagram AF_UNIX, che causa denial of service locale.
Heap buffer overflow nel kernel XNU all'interno di sbconcat_mbufs() (bsd/kern/uipc_socket2.c),
raggiungibile da un utente locale non privilegiato attraverso il livello dei socket datagram AF_UNIX.
Un indirizzo di socket fino a SOCK_MAXADDRLEN (255) byte viene copiato in un'area dati di un mbuf
lunga solo MLEN (224) byte, sovrascrivendo fino a 31 byte dell'header (m_hdr) dell'mbuf adiacente.
Ogni campo di quell'header, ad eccezione del byte alto di mh_flags, diventa controllato
dall'attaccante, causando un kernel panic.
xnu-10002.1.13 (macOS 14.0 / iOS 17.0)xnu-10063.121.3 — distribuita pubblicamente il 13 maggio 2024 in
macOS 14.5, iOS 17.5, iPadOS 17.5, watchOS 10.5, tvOS 17.5 e visionOS 1.2CONFIG_MBUF_MCACHE (tutte le build distribuite)cve-2024-27815.c trigger PoC
README.md questo file
cc -O2 -Wall -Wextra cve-2024-27815.c -o cve-2024-27815
./cve-2024-27815
Su un kernel vulnerabile il payload manda in panic la macchina; su un kernel corretto il processo termina senza errori.
SHA-256 di cve-2024-27815.c (revisione corrente, tracciata in git):
$ sha256sum cve-2024-27815.c
90eab38b30683aa9c9f364b0f0e914e5b1e5f477086073e361352244a3ac55ac cve-2024-27815.c