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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-21017 — CVE-2021-21017 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Adobe Reader में टाइप कन्फ्यूजन है जिससे आउट-ऑफ-बाउंड्स रीड और हीप ओवरफ्लो होता है, तकनीकी विश्लेषण और डिटेक्शन मार्गदर्शन के साथ। | Kitploit
उपकरण/GitHubGitHub/tzwlhack/cve-2021-21017
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणबाइनरी विश्लेषण
GitHubtzwlhack/cve-2021-21017

CVE-2021-21017

CVE-2021-21017 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Adobe Reader में टाइप कन्फ्यूजन है जिससे आउट-ऑफ-बाउंड्स रीड और हीप ओवरफ्लो होता है, तकनीकी विश्लेषण और डिटेक्शन मार्गदर्शन के साथ।

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

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

सभी देखें →

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

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

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

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

CVE-2021-21017

Adobe Reader का एक और बाइट ऑर्डर मार्क बग नहीं :)

root@kitploit:~
# IA32 प्लगइन, ver. 2020.013.20074.
char * __cdecl FUN_2581894c(char *base_url,LPCSTR rel_url)
{
  ............................................................
  ............................................................
  if ((base_url != (char *)0x0) && (rel_url != (LPCSTR)0x0)) {
    if ((*base_url == -2) && (base_url[1] == -1)) {
      iVar6 = bytes_len(base_url);
      pcVar7 = base_url + iVar6;
      pcVar8 = rel_url + 2;
      do {
        do {
          cVar3 = *pcVar8;
          pcVar1 = pcVar8 + 2;
          *pcVar7 = cVar3;
          pcVar2 = pcVar7 + 2;
          cVar4 = pcVar8[1];
          pcVar7[1] = cVar4;
          pcVar7 = pcVar2;
          pcVar8 = pcVar1;
        } while (cVar3 != '\0');
      } while (cVar4 != '\0');
    }
    else {
      lstrcatA(base_url,rel_url);
    }
    return base_url;
  }
  .............................................................
  .............................................................
}

जब किसी PDF दस्तावेज़ के baseURL के सापेक्ष एक URL से पूर्ण URL बनाया जाता है, जिसका उपयोग app.launchURL, document.submitForm या app.media.createPlayer जैसी APIs द्वारा किया जाता है, यदि baseURL एक UTF-16BE स्ट्रिंग प्रतीत होता है, तो संयोजन (concatenation) करते समय सापेक्ष URL को भी UTF-16BE स्ट्रिंग के रूप में माना जाता है, हालाँकि वह वास्तव में एक ANSI स्ट्रिंग होता है।

इसके परिणामस्वरूप एक ओर आउट-ऑफ-बाउंड्स (Out-of-bounds) रीड एक्सेस हो सकता है। दूसरी ओर, गंतव्य बफर को धारण करने के लिए मेमोरी आवंटित करते समय, सापेक्ष URL को ANSI स्ट्रिंग के रूप में "मापा" जाता है। यह निश्चित रूप से पर्याप्त नहीं है यदि OOB रीड होता है। (स्ट्रिंग + NULL टर्मिनेटर पूरे हीप चंक को भरते हुए)।

इसका क्या मतलब है?

टाइप कन्फ्यूजन => आउट ऑफ बाउंड्स रीड => हीप ओवरफ्लो => फुल बुकाके!

PoC संलग्न है

यह अक्सर क्रैश का कारण बनेगा और कभी-कभी ArrayBuffer के byteLength को 0xFF में अधिलेखित (overwrite) कर देगा।

यदि आपके कोई प्रश्न हैं, तो बेझिझक मुझसे ट्विटर पर संपर्क करें: https://twitter.com/Zeusb0x

पहचान (Detection)

PDF दस्तावेज़ कैटलॉग में एक URI प्रविष्टि होगी जो एक डिक्शनरी ऑब्जेक्ट के लिए एक अप्रत्यक्ष संदर्भ (indirect reference) रखती है। इसके बदले में एक Base प्रविष्टि होगी, जो वास्तविक baseURL है। यह संभवतः हेक्साडेसिमल संकेतन में मौजूद होगा और वर्णों \xFE\xFF से शुरू होगा। (PoC देखें)। सौभाग्य से, सामान्य, गैर-विशेषाधिकार प्राप्त संदर्भ में किसी दस्तावेज़ के baseURL को बदलने का यही एकमात्र तरीका है। इसे JavaScript से करने का प्रयास करने पर एक सुरक्षा अपवाद (security exception) उत्पन्न होगा।

टूल डाउनलोड करें