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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-27280 — CVE-2026-27280 का गहन विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट, जो Adobe DNG SDK के dng_render_task::ProcessArea में एक आउट-ऑफ-बाउंड राइट है, जो Android के इमेज डिकोडिंग API के माध्यम से पहुंच योग्य है, जिसमें रूट कॉज़, शोषण क्षमता मूल्यांकन और RCE गैप विश्लेषण शामिल है। | Kitploit
उपकरण/GitHubGitHub/r3n3r0/cve-2026-27280
एंड्रॉइड सुरक्षाभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगफज़िंगमोबाइल सुरक्षापेपर और शोधबाइनरी शोषण
GitHubr3n3r0/cve-2026-27280

CVE-2026-27280

CVE-2026-27280 का गहन विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट, जो Adobe DNG SDK के dng_render_task::ProcessArea में एक आउट-ऑफ-बाउंड राइट है, जो Android के इमेज डिकोडिंग API के माध्यम से पहुंच योग्य है, जिसमें रूट कॉज़, शोषण क्षमता मूल्यांकन और RCE गैप विश्लेषण शामिल है।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

dng_render_task::ProcessArea में आउट-ऑफ-बाउंड राइट (Adobe DNG SDK / Android)

एक सामान्य DNG फ़ाइल से Android के सार्वजनिक इमेज-डिकोडिंग API के माध्यम से पहुँचा गया, और Galaxy S25 पर फ़ोन के अपने /system/lib64/libdng_sdk.so का उपयोग करके पुनरुत्पादित किया गया।

  • असुरक्षित: DNG SDK 1.7.1 बिल्ड 2410 / 2471 (2410 वह है जो परीक्षण किए गए डिवाइस पर मौजूद है)
  • फिक्स्ड: बिल्ड 2502 (DNG_REQUIRE(srcArea.Size() == dstArea.Size()) + srcArea इंडेक्सिंग)
  • डिवाइस: SM-S931B, Android 16, सुरक्षा पैच 2026-01-01 — फिक्स से पहले, शिप किए गए लाइब्रेरी में 2502 गार्ड स्ट्रिंग की अनुपस्थिति से पुष्टि हुई
root@kitploit:~
#12 AImageDecoder_decodeImage                  /system/lib64/libjnigraphics.so
#11 android::ImageDecoder::decode              /system/lib64/libhwui.so
#09 SkCodec::getPixels                         /system/lib64/libhwui.so
#08 SkRawCodec::onGetPixels                    /system/lib64/libhwui.so
#07 dng_render::Render()                       /system/lib64/libdng_sdk.so
#06 SkDngHost::PerformAreaTask                 /system/lib64/libhwui.so
#00 dng_render_task::ProcessArea               /system/lib64/libdng_sdk.so   <-- असुरक्षित

एक-पैराग्राफ सारांश

ProcessArea srcArea पर एक टाइल-आकार का अस्थायी बफर मैप करता है लेकिन इसे dstArea निर्देशांकों के साथ इंडेक्स करता है। चूँकि srcArea = dstArea + fSrcOffset और fSrcOffset फ़ाइल का DefaultCropOrigin है — हर वास्तविक कैमरा DNG में गैर-शून्य — गंतव्य पॉइंटर fSrcOffset * rowStep * pixelSize द्वारा आवंटन से बाहर विस्थापित हो जाता है, और मास्क रीड-बैक वहाँ लिखता है। यह एक विस्थापन है, पूर्णांक ओवरफ्लो नहीं, इसलिए इसे किसी विशाल आवंटन की आवश्यकता नहीं है: यही कारण है कि यह फ़ोन पर पहुँच योग्य है।

लेआउट

root@kitploit:~
01-vulnerability/   dng_render.cpp के असुरक्षित और फिक्स्ड संस्करण, और 2471->2502 डिफ
02-poc/             जनरेटर, लोडर, प्रोब (स्रोत) + प्रीबिल्ट arm64 बाइनरी
03-samples/         DNG फ़ाइलें
04-evidence/        ASAN लॉग, डिवाइस टॉम्बस्टोन, प्रोब आउटपुट
05-analysis/        रूट कॉज़, जनरेटर, पड़ोसी माप, RCE गैप विश्लेषण

03-samples

05-analysis

06-rce-lab (RCE प्रयास)

वह कार्य जो पहले के निर्णय से आगे जाता है: यह माप द्वारा इसके दो दावों को गलत सिद्ध करता है, "क्या भ्रष्ट पॉइंटर उपयोग किया गया" का अंतर बंद करता है, और ठीक-ठीक बताता है कि चेन क्यों रुकती है। पहले 06-rce-lab/README.md पढ़ें; evidence/*.md फ़ाइलें प्रति-प्रयोग लेख हैं, और src/ + apk/ पुनरुत्पादनीय हार्नेस हैं।

पुनरुत्पादन

root@kitploit:~
adb push 02-poc/bin-arm64/poc_aimg 03-samples/trigger_natural_croporigin.dng /data/local/tmp/
adb shell "cd /data/local/tmp && chmod 755 poc_aimg && ./poc_aimg trigger_natural_croporigin.dng"
# -> Segmentation fault, libdng_sdk.so के अंदर टॉम्बस्टोन फ्रेम

arm64 लोडर को फिर से बनाने के लिए Android के अपने dng_sdk फ्लैग (से Android.bp) की आवश्यकता होती है, अन्यथा स्ट्रक्चर लेआउट शिप किए गए लाइब्रेरी से मेल नहीं खाएँगे:

root@kitploit:~
-DUNIX_ENV=1 -DqDNGBigEndian=0 -DqDNGThreadSafe=1 -DqDNGUseLibJPEG=1 \
-DqDNGUseXMP=0 -DqDNGValidateTarget=1 -DqDNGUsingSanitizer=1 -DqLinux=1 -DqAndroid=1

स्थिति

यह CVE-2026-27280 (DNG SDK 1.7.1 2471 और पहले, CWE-787, CVSS 3.1 7.8 HIGH) से मेल खाता है, प्रकाशित 2026-03-10 — संस्करण सीमा और वर्ग द्वारा मिलान किया गया, नहीं Adobe द्वारा फ़ंक्शन का नामकरण करके पुष्टि की गई।

सिद्ध, वास्तविक Android डिकोड पथ पर, 2026-01-01 तक पैच किए गए डिवाइस पर: हमलावर-चुने गए गंतव्य के साथ आउट-ऑफ-बाउंड राइट (4-बाइट ग्रैन्युलैरिटी, दोनों दिशाएँ, ASLR-स्वतंत्र); AImageDecoder के माध्यम से एक सादे DNG से पहुँच योग्य, Samsung Gallery को उसके थंबनेल लोडर में मारते हुए प्रदर्शित; पड़ोसियों का मौन नियतात्मक भ्रष्टाचार; free() तक पहुँचने वाला एक भ्रष्ट पॉइंटर (N1 बंद); DNG प्रारूप द्वारा व्यक्त हीप-स्प्रे (ImageStats × SubIFD); उन स्प्रे की गई वस्तुओं पर लक्षित राइट, 6/10 बनाम 0/10।

RCE नहीं, Android पथ पर, और एक मूल कारण के लिए: कोड एक एकल मान, 0x3F800000 लिख सकता है। सब कुछ उसी से अनुसरण करता है — राइट सन्निहित है (Scudo हेडर पर कोई स्ट्राइड नहीं), लिखने के लिए कोई शून्य नहीं है (कोई लंबाई/रेफकाउंट भ्रष्टाचार नहीं), और टैग-संरक्षण आंशिक ओवरराइट में ठीक एक निश्चित लक्ष्य ऑफसेट है। एक मान यादृच्छिक 256 MB आरक्षण के खिलाफ एक मौका है, और कोई भी स्प्रे मात्रा या समवर्तीता मौके नहीं जोड़ती। डेस्कटॉप SDK पर लिखने योग्य सेट 256 मान है → ~67 MB बैंड में 256 मौके, यही कारण है कि 7.8 वहाँ सही है।

पहले के निर्णय से वापस लिया गया (05-analysis/05-exploitability-verdict.md), माप द्वारा गलत सिद्ध: "एक वास्तविक डिकोडर कोई स्प्रे प्रिमिटिव प्रदान नहीं करता" और "ओवरलैप एकल डिकोड के अंदर से नियंत्रणीय नहीं है"। ब्लॉक PAC, BTI या Scudo की चेकसम नहीं है — यह एकल लिखने योग्य मान है, कोड का एक गुण जिसे Adobe का 2502 फिक्स srcArea के साथ इंडेक्सिंग करके जड़ से हटा देता है।

कोई कार्यशील एक्सप्लॉइट नहीं बनाया गया, और यहाँ कोई प्रकाशित नहीं है।

टूल डाउनलोड करें
फ़ाइलयह क्या करती है
trigger_natural_croporigin.dngप्राकृतिक ज्यामिति (DefaultCropOrigin = 8,8); AImageDecoder को क्रैश करता है
benign_reference.dngमूल 0 वाली वही फ़ाइल — ठीक से डिकोड होती है, हीप की जाँच के लिए उपयोग की जाती है
silent_corruption.dngछोटा साइज़ क्लास: बिना क्रैश हुए आउट-ऑफ-बाउंड लिखता है (5/5)
far_write_crash.dngबड़ा विस्थापन: स्पष्ट रूप से फॉल्ट करता है
फ़ाइलसामग्री
01-root-cause.mdबग, फिक्स, राइट का आकार
02-dng-generator.mdट्रिगर फ़ाइल कैसे बनाई जाती है, दो ट्यूनिंग नॉब, नुकसान
03-neighbours.mdनियंत्रणीयता संख्याएँ, बफर के बगल में क्या है, शमन
04-what-is-missing-for-rce.mdक्या सिद्ध है (P1-P8), क्या नहीं (N1-N3), शेष चरण
05-exploitability-verdict.mdपहले का निर्णय — 06-rce-lab द्वारा प्रतिस्थापित, रिकॉर्ड के लिए रखा गया
फ़ाइलसामग्री
EXP1-stride-vs-scudo.mdस्ट्राइड बनाम Scudo हेडर: अमूर्त रूप से संभव, Android पथ पर असंभव (planes==1)
EXP2-N1-corrupted-pointer-used.mdएक भ्रष्ट पॉइंटर free() तक पहुँचता है — N1 बंद
EXP2-real-process.mdवास्तविक Samsung Gallery प्रक्रिया में राइट, कुछ भी नहीं लगाया गया
EXP-imagestats-spray.mdहीप-स्प्रे जिसे पहले का निर्णय असंभव कहता था, DNG प्रारूप द्वारा व्यक्त
EXP-aimed-spray.mdस्प्रे की गई वस्तुओं पर राइट को लक्षित करना: 6/10 बनाम 0/10
EXP-small-class-in-app.mdवास्तविक ऐप प्रक्रिया के अंदर पहुँच में कोड पॉइंटर
EXP-band-commit.md / EXP-concurrency.mdलक्ष्य को कमिट करना क्यों विफल होता है: एक लिखने योग्य मान = एक मौका
EXP-write-read-mismatch.mdदूसरा दोष + ProcessArea का पूर्ण स्रोत ऑडिट
EXP-value-1.0f.md1.0f-एज़-डेटम मार्ग, संरचनात्मक रूप से बंद