
أداة بحث أمني لثغرات 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 "المعقدة المباشرة" | 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 / تنفيذ الحمولة | ❌ أبدًا | ❌ غير منفذ (محاكاة فقط) |
# استنساخ المستودع
git clone https://github.com/yourusername/papercut-cve-tool.git
cd papercut-cve-tool
# إنشاء بيئة افتراضية
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
# أو
.venv\Scripts\activate # Windows
# تثبيت التبعيات
pip install -r requirements.txt
# التحقق من التثبيت
python papercut.py self-test
# عرض المساعدة
python papercut.py --help
# تشغيل فحص كامل ضد هدف
python papercut.py scan http://127.0.0.1:8080
# بصمة النظام فقط
python papercut.py fingerprint http://127.0.0.1:8080
# فحص CVE محدد
python papercut.py check http://127.0.0.1:8080 --cve 81578
# بدء المختبر المحلي التعليمي
python papercut.py lab
# تشغيل عرض المفهوم (المختبر فقط)
python papercut.py exploit --cve 81578
# استغلال عن بُعد (التفويض مطلوب)
python papercut.py exploit --cve 81578 --target https://target.com:9192 --force
# فحص دفعات مع تصفية مسبقة وتعدد خيوط
python papercut.py scan --input targets.txt --prefilter --threads 10 --timeout 5
# تحليل ملف سجل بحثًا عن مؤشرات الاختراق
python papercut.py detect server.log
# إنشاء تقرير HTML
python papercut.py report result.json --format html
# القائمة التفاعلية
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 | فحص المنافذ المفتوحة قبل الفحص (الدفعات فقط) |
المختبر هو خادم HTTP بسيط بلغة Python يعيد إنتاج مفاهيم الثغرتين لأغراض تعليمية.
ConfigEditor, UserList) أثناء عرض صفحة عامة (Error.page, Exception.page)# بدء المختبر
python papercut.py lab
# تشغيل اختبار المختبر الآلي
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تحلل الأداة ملفات السجلات بحثًا عن مؤشرات مشبوهة (IOCs) مستمدة من آليات الثغرات: