
أداة إثبات مفهوم لإطلاق CVE-2024-27815، وهو تجاوز سعة المخزن المؤقت في كومة نواة XNU داخل sbconcat_mbufs() يمكن الوصول إليه عبر مقابس AF_UNIX للبيانات، مما يسبب حجب الخدمة محليًا.
تجاوز سعة المخزن المؤقت في كومة نواة XNU داخل sbconcat_mbufs() (bsd/kern/uipc_socket2.c)،
يمكن الوصول إليه بواسطة مستخدم محلي غير متميز عبر طبقة مقبس مخطط بيانات AF_UNIX.
يتم نسخ عنوان مقبس بحجم يصل إلى SOCK_MAXADDRLEN (255) بايت إلى منطقة بيانات mbuf
بطول MLEN (224) بايت فقط، مما يؤدي إلى الكتابة فوق ما يصل إلى 31 بايت من
ترويسة (m_hdr) الخاصة بـ mbuf المجاور. يصبح كل حقل في تلك الترويسة باستثناء
البايت العالي من 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.2CONFIG_MBUF_MCACHE (جميع الإصدارات المشحونة)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
على نواة قابلة للاستغلال، تتسبب الحمولة في ذعر الجهاز؛ وعلى نواة مصححة، تنتهي العملية بشكل نظيف.
SHA-256 لـ cve-2024-27815.c (المراجعة الحالية، المتتبعة في git):
$ sha256sum cve-2024-27815.c
90eab38b30683aa9c9f364b0f0e914e5b1e5f477086073e361352244a3ac55ac cve-2024-27815.c