
CVE-2024-27815 के लिए प्रूफ-ऑफ-कॉन्सेप्ट ट्रिगर, जो sbconcat_mbufs() में XNU कर्नेल हीप बफर ओवरफ्लो है और AF_UNIX डेटाग्राम सॉकेट्स के माध्यम से पहुँचा जा सकता है, जिससे स्थानीय सेवा-अस्वीकृति होती है।
sbconcat_mbufs() (bsd/kern/uipc_socket2.c) में XNU कर्नेल हीप बफ़र ओवरफ़्लो,
जो AF_UNIX डेटाग्राम सॉकेट लेयर के माध्यम से एक अनप्रिविलेज्ड लोकल उपयोगकर्ता द्वारा पहुँचा जा सकता है।
SOCK_MAXADDRLEN (255) बाइट्स तक का एक सॉकेट एड्रेस केवल MLEN (224) बाइट्स लंबे
mbuf डेटा क्षेत्र में कॉपी किया जाता है, जिससे आसन्न mbuf के हेडर (m_hdr) के
31 बाइट्स तक ओवरराइट हो जाते हैं। उस हेडर का mh_flags के उच्च बाइट को छोड़कर
प्रत्येक फ़ील्ड हमलावर-नियंत्रित हो जाता है, जिसके परिणामस्वरूप कर्नेल पैनिक होता है।
xnu-10002.1.13 (macOS 14.0 / iOS 17.0)xnu-10063.121.3 — सार्वजनिक रूप से 13 मई, 2024 को
macOS 14.5, iOS 17.5, iPadOS 17.5, watchOS 10.5, tvOS 17.5, और visionOS 1.2 में जारी किया गयाCONFIG_MBUF_MCACHE के साथ बनाया गया कर्नेल (सभी शिपिंग बिल्ड)cve-2024-27815.c PoC ट्रिगर
README.md यह फ़ाइल
cc -O2 -Wall -Wextra cve-2024-27815.c -o cve-2024-27815
./cve-2024-27815
किसी असुरक्षित कर्नेल पर पेलोड मशीन को पैनिक कर देता है; पैच किए गए कर्नेल पर प्रोसेस साफ़-सुथरे ढंग से बाहर निकल जाता है।
cve-2024-27815.c का SHA-256 (वर्तमान रिवीज़न, git में ट्रैक किया गया):
$ sha256sum cve-2024-27815.c
90eab38b30683aa9c9f364b0f0e914e5b1e5f477086073e361352244a3ac55ac cve-2024-27815.c