
PaperCut CVE-2026-81578 और CVE-2026-82078 के लिए सुरक्षा अनुसंधान उपकरण
PaperCut NG/MF भेद्यता आकलन और अधिकृत शोषण के लिए व्यावसायिक सुरक्षा अनुसंधान उपकरण
╔══════════════════════════════════════════════════════════════════╗
║ PAPERCUT SECURITY TOOL – POWER MODE ║
║ CVE-2026-81578 · CVE-2026-82078 · v3.1.0 ║
║ ⚡ powered by yora 1928 ⚡ ║
╚══════════════════════════════════════════════════════════════════╝
यह उपकरण PaperCut NG/MF सर्वरों के लिए सुरक्षित, गैर-विनाशकारी भेद्यता आकलन और वैकल्पिक दूरस्थ शोषण (स्पष्ट प्राधिकरण के साथ) प्रदान करता है। इसे के लिए डिज़ाइन किया गया है, जिन्हें दो महत्वपूर्ण PaperCut भेद्यताओं की उपस्थिति को सत्यापित करने की आवश्यकता है।
| CVE ID | विवरण | CVSS | CWE |
|---|---|---|---|
| CVE-2026-81578 | Apache Tapestry "complex direct" अनुरोधों के माध्यम से प्रमाणीकरण बाईपास | 8.8 (HIGH) | CWE-306 |
| CVE-2026-82078 | डेटाबेस कनेक्शन उपयोगिताओं में असुरक्षित डायनामिक क्लास लोडिंग | 9.4 (CRITICAL) | CWE-470 |
मुख्य संदर्भ:
यह उपकरण संकेतक-आधारित दूरस्थ पहचान करता है। यह दावा नहीं करता कि यह वास्तविक PaperCut सर्वरों पर शोषण क्षमता साबित करता है, जब तक कि --force का उपयोग स्पष्ट लिखित प्राधिकरण के साथ न किया जाए।
| स्थिति | अर्थ |
|---|---|
SAFE | संस्करण सही है या कोई संकेतक नहीं मिला |
AFFECTED_VERSION | संस्करण प्रभावित सीमा से मेल खाता है (विक्रेता सलाह) |
TAPESTRY_DETECTED | Apache Tapestry फ्रेमवर्क का पता चला (PaperCut द्वारा उपयोग किया जाता है) |
ADMIN_ENDPOINT_ACCESSIBLE | प्रशासनिक एंडपॉइंट बिना प्रमाणीकरण के सुलभ हैं |
DB_CONFIG_ACCESSIBLE | डेटाबेस कॉन्फ़िगरेशन एंडपॉइंट सुलभ हैं |
POTENTIALLY_VULNERABLE | संकेतकों का संयोजन संभावित भेद्यता का सुझाव देता है, लेकिन शोषण क्षमता सत्यापित नहीं है |
NOT_DETECTABLE | आकलन के लिए अपर्याप्त जानकारी |
आत्मविश्वास स्कोर साक्ष्य के भार के आधार पर गणना किए जाते हैं और अति-दावे से बचने के लिए दूरस्थ पहचान के लिए 85% पर सीमित होते हैं।
--force फ्लैग के साथ (प्राधिकरण आवश्यक)--input, --threads)--prefilter)| विशेषता | वास्तविक लक्ष्य के विरुद्ध | स्थानीय लैब के विरुद्ध |
|---|---|---|
| फिंगरप्रिंटिंग | ✅ सुरक्षित (केवल-पठन) | ✅ सुरक्षित |
| CVE आकलन | ✅ सुरक्षित (संकेतक-आधारित) | ✅ सुरक्षित |
| अवधारणा प्रदर्शन | ❌ अवरुद्ध (केवल localhost) | ✅ अनुमत |
| दूरस्थ शोषण | ⚠️ --force और प्राधिकरण आवश्यक | ✅ अनुमत |
| कॉन्फ़िगरेशन परिवर्तन | ❌ कभी नहीं | ✅ केवल लैब के भीतर |
| RCE / पेलोड निष्पादन | ❌ कभी नहीं | ❌ लागू नहीं (केवल सिम्युलेटेड) |
# Clone the repository
git clone https://github.com/yourusername/papercut-cve-tool.git
cd papercut-cve-tool
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
# or
.venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Verify installation
python papercut.py self-test
# Show help
python papercut.py --help
# Run a full scan against a target
python papercut.py scan http://127.0.0.1:8080
# Fingerprint only
python papercut.py fingerprint http://127.0.0.1:8080
# Check a specific CVE
python papercut.py check http://127.0.0.1:8080 --cve 81578
# Start the educational local lab
python papercut.py lab
# Run concept demonstration (lab only)
python papercut.py exploit --cve 81578
# Remote exploit (AUTHORIZATION REQUIRED)
python papercut.py exploit --cve 81578 --target https://target.com:9192 --force
# Batch scan with prefilter and threading
python papercut.py scan --input targets.txt --prefilter --threads 10 --timeout 5
# Analyze log file for IOCs
python papercut.py detect server.log
# Generate HTML report
python papercut.py report result.json --format html
# Interactive menu
python papercut.py interactive
| कमांड | विवरण |
|---|---|
scan TARGET | फिंगरप्रिंटिंग + CVE जाँच के साथ पूर्ण भेद्यता स्कैन |
fingerprint TARGET | PaperCut संस्करण, Tapestry फ्रेमवर्क, और उजागर एंडपॉइंट का पता लगाएं |
check TARGET --cve {81578,82078} | विशिष्ट CVE संकेतक जाँच चलाएं |
lab [--port PORT] [--test] | शैक्षिक स्थानीय लैब प्रारंभ करें (वैकल्पिक स्व-परीक्षण के साथ) |
exploit --cve {81578,82078} [--target] [--force] | अवधारणा प्रदर्शन या दूरस्थ शोषण चलाएं (यदि अधिकृत) |
detect LOGFILE [--output] | संदिग्ध संकेतकों के लिए लॉग फ़ाइल का विश्लेषण करें |
report INPUT [--format {html,json,text}] [--output] | JSON परिणामों से व्यावसायिक रिपोर्ट उत्पन्न करें |
interactive | इंटरैक्टिव मेनू लॉन्च करें |
self-test | आंतरिक डायग्नोस्टिक्स चलाएं |
| विकल्प | विवरण |
|---|---|
--timeout N | अनुरोध टाइमआउट सेकंड में (डिफ़ॉल्ट: 10) |
--verbose | विस्तृत डीबग आउटपुट दिखाएं |
--quiet | गैर-आवश्यक आउटपुट दबाएं |
--output FILE | परिणाम फ़ाइल में सहेजें |
--format {text,json,html} | स्कैन/रिपोर्ट के लिए आउटपुट प्रारूप |
| विकल्प | विवरण |
|---|---|
--input FILE | बैच स्कैनिंग के लिए लक्ष्यों वाली फ़ाइल (प्रति पंक्ति एक) |
--output-dir DIR | बैच परिणाम सहेजने के लिए निर्देशिका |
--threads N | समवर्ती थ्रेड्स की संख्या (बैच मोड) |
--prefilter | स्कैनिंग से पहले खुले पोर्ट की जाँच करें (केवल बैच) |
लैब एक न्यूनतम Python HTTP सर्वर है जो शैक्षिक उद्देश्यों के लिए दोनों भेद्यताओं की अवधारणाओं को पुन: प्रस्तुत करता है।
Error.page, Exception.page) प्रदर्शित करते समय एक प्रशासनिक घटक (ConfigEditor, UserList) को आमंत्रित करता है# Start the lab
python papercut.py lab
# Run automated lab test
python papercut.py lab --test
लैब एंडपॉइंट:
http://127.0.0.1:8080/lab/cve-81578?component=ConfigEditor&display=Errorhttp://127.0.0.1:8080/lab/cve-82078?driver=org.attacker.RCEPayloadउपकरण भेद्यता तंत्र से प्राप्त संदिग्ध संकेतकों (IOC) के लिए लॉग फ़ाइलों का विश्लेषण करता है:
| संकेतक | गंभीरता | विवरण |
|---|---|---|
tapestry_complex_direct | CRITICAL | Tapestry .page.*.zone अनुरोध पैटर्न |
admin_component_access | HIGH | ConfigEditor / UserList पृष्ठ पहुंच |
public_page_tapestry | HIGH | Tapestry के साथ Error / Exception पृष्ठ |
tapestry_post_request | CRITICAL | Tapestry .page पर POST अनुरोध |
db_driver_config | CRITICAL | डेटाबेस ड्राइवर कॉन्फ़िगरेशन परिवर्तन |
class_loading_error | HIGH | ClassNotFoundException / NoClassDefFoundError |
dynamic_class_loading | CRITICAL | बाहरी स्रोत से क्लास लोड करना |
python papercut.py detect /var/log/papercut/server.log --output detection.json
HTML, JSON, या सादे टेक्स्ट में व्यावसायिक रिपोर्ट उत्पन्न करें।
# First, save scan results as JSON
python papercut.py scan http://127.0.0.1:8080 --format json --output result.json
# Generate HTML report
python papercut.py report result.json --format html --output report.html
# Generate JSON report
python papercut.py report result.json --format json --output report.json
# Generate text report
python papercut.py report result.json --format text --output report.txt
HTML रिपोर्ट में शामिल हैं:
PaperCut सुरक्षा बुलेटिन (27 अगस्त, 2026) के आधार पर:
| संस्करण सीमा | स्थिति |
|---|---|
| 24.x < 24.1.10 | ❌ प्रभावित |
| 24.1.10+ | ✅ सही |
| 25.x < 25.0.13 | ❌ प्रभावित |
| 25.0.13+ | ✅ सही |
| 26.x < 26.0.5 | ❌ प्रभावित |
| 26.0.5+ | ✅ सही |
| 23.x और नीचे | ⚠️ जीवन-अंत – अपग्रेड अनुशंसित |
PaperCut Apache Tapestry फ्रेमवर्क का उपयोग करता है। Tapestry का "complex direct" अनुरोध प्रारूप दोनों को निर्दिष्ट करने की अनुमति देता है:
Error.page)ConfigEditor.page)पहुंच सत्यापन केवल प्रदर्शित पृष्ठ की जाँच करता है, निष्पादित किए जा रहे घटक की नहीं। हमलावर सार्वजनिक पृष्ठ प्रदर्शित करते समय प्रशासनिक घटकों को आमंत्रित कर सकते हैं, प्रमाणीकरण को पूरी तरह से बाईपास कर सकते हैं।
हमला वेक्टर: POST /papercut/ConfigEditor.page?... .zone अनुरोध के साथ, Error.page के माध्यम से प्रदर्शित
PaperCut कॉन्फ़िगर करने योग्य ड्राइवर नामों (जैसे, database.driver.class) से JDBC डेटाबेस ड्राइवर क्लास इंस्टैंशिएट करता है। एप्लिकेशन इन क्लास नामों को एलोलिस्ट के विरुद्ध सत्यापित नहीं करता है। हमलावर जो सिस्टम कॉन्फ़िगरेशन में हेरफेर कर सकते हैं (प्रमाणीकरण बाईपास या अन्य माध्यमों से) मनमाने Java क्लास नाम निर्दिष्ट कर सकते हैं, जिन्हें PaperCut सेवा प्रक्रिया द्वारा लोड और इंस्टैंशिएट किया जाता है।
प्रभाव: PaperCut सेवा के सुरक्षा संदर्भ के तहत दूरस्थ कोड निष्पादन (RCE)।
योगदान का स्वागत है! कृपया दिशानिर्देशों के लिए CONTRIBUTING.md पढ़ें।
MIT लाइसेंस – विवरण के लिए LICENSE देखें।
यह उपकरण अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए है। स्पष्ट लिखित अनुमति के बिना किसी भी सिस्टम के विरुद्ध उपयोग न करें। अवधारणा प्रदर्शन localhost तक सीमित हैं और दूरस्थ होस्ट के विरुद्ध काम नहीं करेंगे।
इस उपकरण का उपयोग करके, आप सहमत हैं:
संस्करण: 3.1.0
अंतिम अद्यतन: 2026-08-29
अनुरक्षक: yora 1928
"सुरक्षा कोई उत्पाद नहीं है, बल्कि एक प्रक्रिया है।" – ब्रूस श्नीयर
---
## 🚀 GitHub पर अगले चरण
1. **खोलें** `https://github.com/yora1928/PaperCut-CVE-2026-81578-82078`
2. **क्लिक करें** `README.md`
3. **क्लिक करें** पेंसिल आइकन (संपादित करें)
4. **हटाएं** सभी पुरानी सामग्री
5. **पेस्ट करें** उपरोक्त पूरा टेक्स्ट
6. **क्लिक करें** `Commit changes...`
7. **लिखें** कमिट संदेश: `Update README.md with final version`
8. **क्लिक करें** `Commit changes`
---
## 🎉 **पूर्ण! आपका प्रोजेक्ट पेशेवर है और पोर्टफोलियो के लिए तैयार है!** ⚡