Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-21045_and_CVE-2026-21048 — Samsung libimagecodec.quram.so OOB Write PoC | Kitploit
उपकरण/GitHubGitHub/filipemendonca1978/cve-2026-21045_and_cve-2026-21048
Android SecurityVulnerability AnalysisExploitationReverse EngineeringFuzzingMobile SecurityPapers & ResearchLearning & EducationBinary Exploitation

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHubfilipemendonca1978/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

Samsung libimagecodec.quram.so OOB Write PoC

रिपॉजिटरी देखें
11 महीना पहलेअभी तक समीक्षित नहीं

CVE-2026-21045 और CVE-2026-21048 — Samsung libimagecodec.quram.so OOB राइट PoC

अवलोकन

इस रिपॉजिटरी में अवधारणात्मक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) फ़ाइलें हैं जो Samsung Android उपकरणों पर उपयोग की जाने वाली Quramsoft इमेज कोडेक लाइब्रेरी (libimagecodec.quram.so) में आउट-ऑफ-बाउंड्स (OOB) राइट कमजोरियों का प्रदर्शन करती हैं।

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 (64-बिट बाइनरी में ऑफसेट 0x13a0a8) में रहती है। यह फ़ंक्शन व्यक्तिगत TIFF/EXIF IFD प्रविष्टियों को संसाधित करता है, प्रत्येक 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, तब 4-बाइट Value फ़ील्ड को फ़ाइल ऑफसेट के रूप में माना जाता है (जो वास्तविक डेटा के स्थान को इंगित करता है)। कोड फिर पते 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 — निर्मित काउंट/ऑफसेट के साथ ASCII टैग के माध्यम से OOB राइट ट्रिगर करने वाला दुर्भावनापूर्ण TIFF
cve-2026-21048_dng_oob_poc.pyउत्पन्न करता है poc_crash.dng — निर्मित काउंट/ऑफसेट के साथ UNDEFINED टैग के माध्यम से OOB राइट ट्रिगर करने वाला दुर्भावनापूर्ण DNG

उपयोग

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), Samsung गैलरी (या Quram डिकोडर का उपयोग करने वाले किसी भी ऐप) में निर्मित TIFF/DNG फ़ाइल खोलने से हीप मेमोरी भ्रष्टाचार हो सकता है जो संभावित रूप से इनकी ओर ले जाता है:

  • एप्लिकेशन क्रैश (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) एक ही हैंडलर साझा करते हैं और पूर्णांक अतिप्रवाह बायपास के लिए समान रूप से कमजोर हैं।

संबंधित CVE

अस्वीकरण

ये प्रूफ ऑफ कॉन्सेप्ट केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किए गए हैं। ये कमजोरी तंत्र का प्रदर्शन करते हैं ताकि उपयोगकर्ताओं और डेवलपर्स को जोखिम समझने में मदद मिल सके। उन प्रणालियों के खिलाफ इनका उपयोग न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है।

संदर्भ

  • 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 + 0x17FFFबफर से 0x7FFF बाइट आगे❌ OOB
फ़ंक्शनपता (64-bit)आकारउद्देश्य
WINKJ_ReadExifField0x13a0a8912व्यक्तिगत IFD प्रविष्टि को पार्स करता है (कमजोर)
WINKJ_ReadTiffIFDInfo0x139d28896सभी IFD प्रविष्टियाँ पढ़ता है
WINKJ_ReadTiffInfo0x139ad4596उच्च-स्तरीय TIFF जानकारी पार्सर
WINKJ_GetTiffInfo0x1393fc1752मुख्य TIFF पार्सिंग प्रवेश बिंदु
decodeTIFF0x1a2adc580libtiff के माध्यम से TIFF छवि डिकोड करता है
getTIFFImageInfo0x1a2d20508TIFF छवि मेटाडेटा प्राप्त करता है
copySubImageBuffer0x0b2824324उप-छवि क्षेत्र की प्रतिलिपि बनाता है
TIFFReadDirectory0x1aac785896libtiff 4.6.0 निर्देशिका रीडर
_TIFFMultiply320x1a2f1c56सुरक्षित 32-बिट गुणन जांच
_TIFFMultiply640x1a2f5848सुरक्षित 64-बिट गुणन जांच
प्रकारनामएलिमेंट आकारहैंडलर पता
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVEविवरणस्थिति
CVE-2025-58477libimagecodec.quram.so में IFD टैग पार्सिंग में OOB राइट (SMR Dec-2025)✅ पैच किया गया
CVE-2026-20973libimagecodec.quram.so में OOB रीड (SMR Jan-2026)✅ पैच किया गया
CVE-2026-21045libimagecodec.media.quram.so में TIFF पार्सिंग में OOB राइट (SMR Jul-2026)⚠️ मेरे लिए अनपैच्ड
CVE-2026-21048libimagecodec.media.quram.so में DNG पार्सिंग में OOB राइट (SMR Jul-2026)⚠️ मेरे लिए अनपैच्ड
CVE-2026-4775libtiff 4.6.0 putcontig8bitYCbCr44tile में साइन किया गया पूर्णांक अतिप्रवाह⚠️ मेरे लिए अनपैच्ड
CVE-2024-7006libtiff tif_dirinfo.c में NULL डीरेफरेंस✅ 4.6.1 में ठीक किया गया