
Preuve de concept de déclenchement pour CVE-2024-27815, un débordement de tampon de tas du noyau XNU dans sbconcat_mbufs() accessible via les sockets datagramme AF_UNIX, provoquant un déni de service local.
Débordement de tampon du tas du noyau XNU dans sbconcat_mbufs() (bsd/kern/uipc_socket2.c),
atteignable par un utilisateur local non privilégié via la couche de sockets datagram AF_UNIX.
Une adresse de socket allant jusqu'à SOCK_MAXADDRLEN (255) octets est copiée dans une zone
de données mbuf longue de seulement MLEN (224) octets, écrasant jusqu'à 31 octets de
l'en-tête (m_hdr) du mbuf adjacent. Chaque champ de cet en-tête, à l'exception de l'octet
de poids fort de mh_flags, devient contrôlé par l'attaquant, entraînant un kernel
panic.
xnu-10002.1.13 (macOS 14.0 / iOS 17.0)xnu-10063.121.3 — publiée publiquement le 13 mai 2024 dans
macOS 14.5, iOS 17.5, iPadOS 17.5, watchOS 10.5, tvOS 17.5 et visionOS 1.2CONFIG_MBUF_MCACHE (toutes les versions publiées)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
Sur un noyau vulnérable, la charge utile provoque un kernel panic de la machine ; sur un noyau corrigé, le processus se termine proprement.
SHA-256 de cve-2024-27815.c (révision actuelle, suivie dans git) :
$ sha256sum cve-2024-27815.c
90eab38b30683aa9c9f364b0f0e914e5b1e5f477086073e361352244a3ac55ac cve-2024-27815.c