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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2025-5915 — libarchive RAR v4 फ़िल्टर में हीप ओवर-रीड (CVE-2025-5915) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जिसमें ASan पुनरुत्पादन, एनकोडर और ऑन-डिवाइस iOS 18.5 प्रदर्शन शामिल है। | Kitploit
उपकरण/GitHubGitHub/r3n3r0/cve-2025-5915
आईओएस सुरक्षाभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगपेपर और शोधबाइनरी शोषण
GitHubr3n3r0/cve-2025-5915

cve-2025-5915

libarchive RAR v4 फ़िल्टर में हीप ओवर-रीड (CVE-2025-5915) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जिसमें ASan पुनरुत्पादन, एनकोडर और ऑन-डिवाइस iOS 18.5 प्रदर्शन शामिल है।

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

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

सभी देखें →

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

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

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

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

CVE-2025-5915 — libarchive RAR v4 हीप ओवर-रीड (ऑन-डिवाइस iOS 18.5 प्रमाण सहित)

libarchive के RAR v4 फ़िल्टर पथ (copy_from_lzss_window) में एक नियंत्रित हीप ओवर-रीड / मेमोरी-डिस्क्लोज़र। यह रिपो इसे शुरू से अंत तक रिप्रोड्यूस करता है: स्थानीय ASan, एक स्क्रैच-से-निर्मित RAR v4 एन्कोडर जो लीक आकार को डायल करता है, और iOS 18.5 पर एक ऑन-डिवाइस प्रदर्शन जो फ़ोन के अपने सिस्टम libarchive.2.dylib का उपयोग करता है।

  • बग: parse_filter() एक फ़िल्टर blocklength (RAR-VM बाइटकोड, 32 बिट तक) पढ़ता है और copy_from_lzss_window() memcpy के ज़रिए उतने बाइट्स LZSS विंडो से बाहर कॉपी करता है, बिना यह जाँचे कि वह dictionary_size में फिट बैठता है। विंडो साइज़ rar_fls(unp_size) << 1 है — हमलावर दोनों को नियंत्रित करता है। unp_size=16 घोषित करें → 32-बाइट विंडो, blocklength=0x3C000 माँगें → ~240 KB आसन्न हीप को डीकंप्रेस्ड आउटपुट में पढ़ा जाता है।
  • फिक्स: कमिट a612bf62 (libarchive 3.8.0) if (blocklength > rar->dictionary_size) return 0; जोड़ता है (copy_from_lzss_window में रैप-अराउंड फिक्स के साथ)।
  • iOS: 18.5 (22F76) libarchive 3.7.4 भेजता है और असुरक्षित है; 18.6 (22G86) में बैकपोर्ट है। दोनों 3.7.4 रिपोर्ट करते हैं — वर्जन स्ट्रिंग उनमें अंतर नहीं दिखाती (writeup §7–8 देखें)।

पूरा राइट-अप देखें: writeup/cve-2025-5915.en.md (इतालवी: writeup/cve-2025-5915.it.md)।

एक memcpy, दो CVE

वही अनियंत्रित blocklength एक memcpy की लंबाई है जिसके दो छोर हैं:

iOS 18.5 पर राइट-साइड सीमा (26256) पहले से बैकपोर्ट है, लेकिन रीड-साइड गार्ड (5915) नहीं है — इसलिए iOS पर यह केवल रीड है (analysis/two_cve_unification.md)।

रिपॉजिटरी लेआउट

root@kitploit:~
writeup/       full technical article (EN + IT)
poc/
  build_bigleak.py     shrink unp_size in a real archive + repair header CRC-16
  build_encoder.py     from-scratch RAR v4 encoder; dials blocklength (leak size)
  plant.c              macOS realloc interpose to plant a secret after the window
  *.rar                proof-of-concept archives (see poc/README.md)
  RARLeak/             on-device iOS harness (Xcode project)
analysis/      ASan logs, iOS patch-diff (disassembly), notes, isolated guard patch
device-proof/  output of the on-device run (iPhone, iOS 18.5)

रिप्रोड्यूस करें (लोकल, macOS/Linux)

root@kitploit:~
git clone https://github.com/libarchive/libarchive && cd libarchive && git checkout v3.7.4
CC=clang CFLAGS="-fsanitize=address -g -O1" LDFLAGS="-fsanitize=address" \
  cmake -B build-asan -DENABLE_TEST=OFF . && cmake --build build-asan --target bsdtar
ASAN_OPTIONS=detect_leaks=0 build-asan/bin/bsdtar -xOf poc/enc_0x40000.rar >/dev/null
#  -> AddressSanitizer: heap-buffer-overflow  READ of size 262112

अपना खुद का बनाएं: python3 poc/build_encoder.py out.rar <unp_size> <blocklength> [e8e9]।

रिप्रोड्यूस करें (ऑन-डिवाइस, iOS ≤ 18.5)

poc/RARLeak एक iOS ऐप है जो अपने हीप को स्प्रे करता है, सिस्टम libarchive को dlopen करता है, एक क्राफ्टेड RAR फीड करता है, और गिनता है कि उसका अपना कितना हीप आउटपुट में वापस आता है। अपनी साइनिंग टीम सेट करें और बिल्ड करें:

root@kitploit:~
cd poc/RARLeak && ./build.sh <device-udid>        # set DEVELOPMENT_TEAM first (see build.sh)

अपेक्षित: एक 16-बाइट-घोषित फ़ाइल ~196 KB आउटपुट देती है, जिसमें से ~150 KB प्लांट किया गया LK5915!! मार्कर आउट-ऑफ-बाउंड्स पढ़ा जाता है। परिणाम ऐप के Documents/ में लिखा जाता है।

iOS बाइनरीज़ पर नोट

Apple का libarchive.2.dylib (18.5 / 18.6) शामिल नहीं है (मालिकाना)। केवल उनके SHA-1s (analysis/SHA1SUMS.ios-dylibs) और प्रासंगिक डिसअसेंबली अंश शामिल हैं। अपना खुद का निकालने के लिए ipsw dyld extract <dyld_shared_cache> libarchive.2.dylib चलाएँ।

क्रेडिट्स और नैतिकता

N-day, libarchive 3.8.0 / iOS 18.6 में फिक्स किया गया। सब कुछ लेखक के अपने हार्डवेयर पर परीक्षण किया गया था। बग की रिपोर्ट JJLeo (libarchive issue #2565) द्वारा, शोध Yifan Zhang (PLL, Peking University) द्वारा, फिक्स Tobias Stoeckmann और Tim Kientzle द्वारा। CVE-2024-26256 फिक्स Tobias Stoeckmann द्वारा। केवल शोध और रक्षात्मक उपयोग के लिए।

टूल डाउनलोड करें
पक्षलापता सीमाCVEफिक्स
स्रोत (LZSS विंडो)blocklength ≤ dictionary_sizeCVE-2025-5915 (पढ़ना)a612bf62, v3.8.0
गंतव्य (vm->memory, 0x40000)blocklength ≤ VM_MEMORY_SIZECVE-2024-26256 (लिखना)b7b0c7c4, v3.7.5