
Prova de conceito de acionamento para CVE-2024-27815, um estouro de buffer de heap no kernel XNU em sbconcat_mbufs(), acessível via sockets de datagrama AF_UNIX, causando negação de serviço local.
Estouro de buffer de heap no kernel XNU em sbconcat_mbufs() (bsd/kern/uipc_socket2.c),
alcançável por um usuário local sem privilégios através da camada de socket de datagrama AF_UNIX.
Um endereço de socket de até SOCK_MAXADDRLEN (255) bytes é copiado para uma área de dados
de mbuf com apenas MLEN (224) bytes de comprimento, sobrescrevendo até 31 bytes do
cabeçalho (m_hdr) do mbuf adjacente. Todos os campos desse cabeçalho, exceto o
byte alto de mh_flags, tornam-se controlados pelo atacante, resultando em um panic
do kernel.
xnu-10002.1.13 (macOS 14.0 / iOS 17.0)xnu-10063.121.3 — lançado publicamente em 13 de maio de 2024 no
macOS 14.5, iOS 17.5, iPadOS 17.5, watchOS 10.5, tvOS 17.5 e visionOS 1.2CONFIG_MBUF_MCACHE (todas as builds de lançamento)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
Em um kernel vulnerável, o payload causa o panic da máquina; em um kernel corrigido, o processo encerra normalmente.
SHA-256 de cve-2024-27815.c (revisão atual, rastreada no git):
$ sha256sum cve-2024-27815.c
90eab38b30683aa9c9f364b0f0e914e5b1e5f477086073e361352244a3ac55ac cve-2024-27815.c