توسعه دهندگان پروژه GrapheneOS، که یک فورک امن از پایگاه کد AOSP (پروژه منبع باز اندروید) را توسعه می دهد، آسیب پذیری را در پشته بلوتوث پلت فرم اندروید 14 شناسایی کرده اند که به طور بالقوه می تواند منجر به اجرای کد از راه دور شود. مشکل به دلیل دسترسی به یک منطقه حافظه آزاد شده (استفاده پس از آزاد) در کد پردازش صوتی ارسال شده از طریق بلوتوث LE ایجاد می شود.
این آسیبپذیری به دلیل ادغام حفاظت اضافی در تماس hardened_malloc، با استفاده از پسوند ARMv8.5 MTE (MemTag، Memory Tagging Extension) شناسایی شد که به شما امکان میدهد برچسبها را به هر عملیات تخصیص حافظه متصل کنید و بررسی استفاده صحیح از اشارهگرها را سازماندهی کنید. برای جلوگیری از بهرهبرداری از آسیبپذیریهای ناشی از دسترسی به بلوکهای حافظه آزاد شده، سرریزهای بافر، تماسهای قبل از مقداردهی اولیه، و استفاده در خارج از زمینه فعلی.
این خطا از زمان بهروزرسانی اندروید 14 QPR2 (انتشار سه ماهه پلتفرم) که در اوایل ماه مارس منتشر شد، ظاهر شده است. در پایه کد اصلی پلتفرم اندروید 14، مکانیزم MTE به عنوان یک گزینه موجود است و هنوز به طور پیش فرض از آن استفاده نمی شود، اما در GrapheneOS قبلاً برای محافظت اضافی فعال شده است که تشخیص خطا پس از به روز رسانی را ممکن می کند. اندروید 14 QPR2. این اشکال هنگام استفاده از هدفون بلوتوث Samsung Galaxy Buds2 Pro با سفتافزاری که حفاظت مبتنی بر MTE را فعال میکرد، از کار افتاد. تجزیه و تحلیل این حادثه نشان داد که مشکل مربوط به دسترسی به حافظه آزاد شده در کنترلر بلوتوث LE است و نه به دلیل یکپارچگی MTE.
این آسیبپذیری در نسخه 2024030900 GrapheneOS برطرف شده است و بر ساختهای گوشیهای هوشمندی که شامل حفاظت سختافزاری اضافی بر اساس پسوند MTE نیستند، تأثیر میگذارد (MTE در حال حاضر فقط برای دستگاههای Pixel 8 و Pixel 8 Pro فعال است). این آسیبپذیری در گوشیهای هوشمند گوگل پیکسل 8 با اندروید 14 QPR2 بازتولید شده است. در اندروید برای گوشیهای سری پیکسل 8، حالت MTE را میتوان در تنظیمات برنامهنویس فعال کرد («تنظیمات / سیستم / گزینههای برنامهنویس / افزونههای برچسبگذاری حافظه»). فعال کردن MTE مصرف حافظه را تقریباً 3٪ افزایش می دهد، اما عملکرد را کاهش نمی دهد.
منبع: opennet.ru