یک آسیبپذیری از نوع Out-of-bounds Read (CWE-125) در کتابخانه libimobiledevice (نسخههای ۱.۰ تا ۱.۴.۰) شناسایی شده است. این نقص امنیتی در تابع afc_file_open در فایل src/afc.c قرار دارد و میتواند منجر به افشای محدود اطلاعات موجود در حافظه (Memory Disclosure) شود.
جزئیات فنی و نحوه حمله
این آسیبپذیری زمانی رخ میدهد که یک مهاجم بتواند از طریق یک نقطه اتصال (Endpoint) مخرب یا جعل شدهی AFC (Apple File Conduit)، آرگومان bytes را در تابع afc_file_open دستکاری کند. این دستکاری باعث میشود برنامه فراتر از محدوده تخصیصیافته برای بافر، دادهها را بخواند و بخشی از حافظه مجاور فرآیند را افشا کند.
بر اساس امتیاز CVSS 4.0، این آسیبپذیری دارای امتیاز ۵.۱ (Medium) است. بردار امتیازدهی نشان میدهد که تأثیر تنها بر محرمانگی (VC:L) است و نیازمند سطح دسترسی پایین (PR:L) و تعامل غیرفعال کاربر (UI:P) میباشد. این نقص هیچ تأثیری بر یکپارچگی (Integrity) یا در دسترس بودن (Availability) سیستم ندارد.
وضعیت اکسپلویت و وصله امنیتی
در حال حاضر، یک مستندات عمومی (PoC) برای این آسیبپذیری منتشر شده است، اما تأییدی مبنی بر استفاده فعال از آن در محیطهای واقعی (In-the-wild) وجود ندارد. همچنین، تا این لحظه پچ رسمی یا نسخه اصلاحشدهای از سوی توسعهدهندگان اصلی منتشر نشده است و توصیه میشود وضعیت انتشار نسخههای جدید این کتابخانه پیگیری شود.
توصیههای امنیتی
از آنجایی که این کتابخانه یک کتابخانه کلاینت (Client Library) برای ارتباط با دستگاههای iOS/iPadOS است، ریسک اصلی زمانی وجود دارد که اپلیکیشن به یک سرویس یا دستگاه مخرب متصل شود. اقدامات پیشنهادی عبارتند از:
- اعتبارسنجی ورودیها: در صورت امکان، آرگومانهای
bytesوmodeرا در محل فراخوانی تابع به دقت اعتبارسنجی کنید تا از وقوع شرایط Out-of-bounds جلوگیری شود. - کنترل نقاط اتصال: از اتصال به نقاط اتصال (Endpoints) یا دستگاههای AFC ناشناس یا غیرقابل اعتماد خودداری کنید.
- احراز هویت دستگاه: پیش از انجام عملیات فایل، صحت دستگاه یا نقطه اتصال را از طریق روشهای Pinning یا سایر مکانیزمهای تأیید هویت بررسی کنید.