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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-tarmageddon — CVE-2025-62518: TARmageddon | Kitploit
उपकरण/GitHubGitHub/edera-dev/cve-tarmageddon
Vulnerability AnalysisExploitationFuzzingBinary AnalysisSupply Chain SecurityLearning & Education
GitHubedera-dev/cve-tarmageddon

cve-tarmageddon

CVE-2025-62518: TARmageddon

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

Ivy Astronaut

CVE-2025-62518: TARmageddon

यह भंडार tokio-tar और संबंधित async Rust tar पुस्तकालयों में एक गंभीर बग प्रदर्शित करता है जहाँ PAX विस्तारित हेडर size ओवरराइड्स अगले हेडर स्थिति की गणना करने से पहले लागू नहीं किए जाते हैं।

बग सारांश

मूल कारण: उन PAX विस्तारित हेडर वाली tar फ़ाइलों को संसाधित करते समय जो फ़ाइल आकार को ओवरराइड करते हैं, पुस्तकालय स्थिति गणनाओं के लिए PAX ओवरराइड के बजाय ऑक्टल आकार फ़ील्ड (अक्सर शून्य) का उपयोग करता है।

प्रभाव: यह पार्सर को फ़ाइल सामग्री में कूदने और उसे tar हेडर समझने की गलती करने का कारण बनता है, जिससे गलत फ़ाइलों का निष्कर्षण होता है।

ज्ञात प्रभावित पुस्तकालय:

  • async-tar https://github.com/dignifiedquire/async-tar
  • tokio-tar https://github.com/vorot93/tokio-tar
  • krata-tokio-tar https://github.com/edera-dev/tokio-tar
  • astral-tokio-tar https://github.com/astral-sh/tokio-tar

त्वरित प्रारंभ

root@kitploit:~
# आवश्यकताएँ: CMake, Rust/Cargo, C++ कंपाइलर, सिस्टम tar कमांड

cmake -S . -B build
cmake --build build --target generate_report

यह करेगा:

  1. सभी C++ और Rust उपकरण बनाएगा
  2. एक पुनरुत्पादन केस tar फ़ाइल उत्पन्न करेगा
  3. बग दिखाने वाली तुलनाएँ चलाएगा
  4. build/output/ में विस्तृत रिपोर्ट उत्पन्न करेगा

परियोजना संरचना

root@kitploit:~
├── disclosure/               # सुरक्षा प्रकटीकरण दस्तावेज़ीकरण ट्री
│   └── blast_radius/         # tokio-tar वेरिएंट पर निर्भर परियोजनाओं का रिकॉर्ड
├── repro_generator/          # एक पुनरुत्पादन केस tar फ़ाइल उत्पन्न करने के लिए C++ उपकरण
├── tar-bug-detector/         # tar पुस्तकालयों की तुलना करने वाला Rust उपकरण
├── tarwalk/                  # सही C++ tar पार्सर
│   ├── tarwalk.cpp           # PAX को सही ढंग से संभालता है
│   └── tarwalk_bad.cpp       # उसी बग को पुनरुत्पादित करता है
├── CMakeLists.txt            # बिल्ड सिस्टम
├── generate_report.cmake     # रिपोर्ट निर्माण
└── README.md                 # यह फ़ाइल

बग विस्तार से

सामान्य TAR प्रसंस्करण

root@kitploit:~
Header -> Content (ऑक्टल फ़ील्ड से आकार) -> Next Header

PAX विस्तारित TAR प्रसंस्करण (सही)

root@kitploit:~
PAX Header (आकार=1024) -> File Header (ऑक्टल आकार=0) -> Content (1024 बाइट्स) -> Next Header

PAX विस्तारित TAR प्रसंस्करण (बगी)

root@kitploit:~
PAX Header (आकार=1024) -> File Header (ऑक्टल आकार=0) -> Content (0 बाइट्स) -> गलत स्थिति
                                                                              ↓
                                                                    सामग्री को हेडर पढ़ रहा है!

वास्तविक दुनिया का ट्रिगर

Docker save निम्नलिखित के साथ tar फ़ाइलें बनाता है:

  • PAX एक्सटेंशन की आवश्यकता वाली बड़ी परतें (>8GB)
  • फ़ाइल सिस्टम tar हेडर (etc/, usr/) से शुरू होने वाली परत सामग्री
  • जब बग ट्रिगर होता है, तो पार्सर छवि मेनिफेस्ट के बजाय फ़ाइल सिस्टम सामग्री निकालते हैं

पुनरुत्पादन फ़ाइलें उत्पन्न

  • pax_bug_compact.tar - न्यूनतम पुनरुत्पादन केस

अपेक्षित परिणाम

सही पुस्तकालय (GNU tar, sync tar क्रेट):

root@kitploit:~
normal.txt -> blob.bin -> marker.txt

बगी पुस्तकालय (tokio-tar):

root@kitploit:~
normal.txt -> blob.bin -> INNER_FILE -> marker.txt

INNER_FILE का प्रकट होना बग को इंगित करता है - पुस्तकालय blob.bin सामग्री में कूद गया और एक नकली tar हेडर को वास्तविक प्रविष्टि समझ लिया।

तकनीकी विवरण

फिक्स के लिए स्थिति गणनाओं से पहले PAX ओवरराइड्स लागू करना आवश्यक है:

root@kitploit:~
// हेडर पढ़ें
let mut file_size = header.size();

// अगली स्थिति की गणना करने से पहले PAX ओवरराइड्स लागू करें
if let Some(pax_size) = pending_pax.get("size") {
    file_size = pax_size.parse().unwrap();
}

// अब प्रभावी आकार का उपयोग करके अगले हेडर की स्थिति की गणना करें
let next_pos = current_pos + 512 + pad_to_512(file_size);

लाइसेंस

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

मूल स्रोत कोड लाइसेंस के लिए COPYING देखें।

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