
Sicherheitsforschungstool für PaperCut CVE-2026-81578 & CVE-2026-82078
Professionelles Sicherheitsforschungstool für die Bewertung von PaperCut NG/MF-Schwachstellen und autorisierte Ausnutzung
╔══════════════════════════════════════════════════════════════════╗
║ PAPERCUT SECURITY TOOL – POWER MODE ║
║ CVE-2026-81578 · CVE-2026-82078 · v3.1.0 ║
║ ⚡ powered by yora 1928 ⚡ ║
╚══════════════════════════════════════════════════════════════════╝
Dieses Tool bietet eine sichere, nicht-destruktive Schwachstellenbewertung und (mit ausdrücklicher Autorisierung) für PaperCut NG/MF-Server. Es ist für konzipiert, die das Vorhandensein von zwei kritischen PaperCut-Schwachstellen validieren müssen.
| CVE-ID | Beschreibung | CVSS | CWE |
|---|---|---|---|
| CVE-2026-81578 | Authentifizierungsumgehung über Apache Tapestry „complex direct“-Anfragen | 8.8 (HOCH) | CWE-306 |
| CVE-2026-82078 | Unsicheres dynamisches Klassenladen in Datenbankverbindungs-Dienstprogrammen | 9.4 (KRITISCH) | CWE-470 |
Wichtige Referenzen:
Dieses Tool führt eine indikatorbasierte Remote-Erkennung durch. Es behauptet nicht, die Ausnutzbarkeit auf echten PaperCut-Servern zu beweisen, es sei denn, --force wird mit ausdrücklicher schriftlicher Autorisierung verwendet.
| Status | Bedeutung |
|---|---|
SAFE | Version ist gepatcht oder keine Indikatoren erkannt |
AFFECTED_VERSION | Version entspricht dem betroffenen Bereich (Herstellerhinweis) |
TAPESTRY_DETECTED | Apache Tapestry-Framework erkannt (von PaperCut verwendet) |
ADMIN_ENDPOINT_ACCESSIBLE | Administrative Endpunkte sind ohne Authentifizierung erreichbar |
DB_CONFIG_ACCESSIBLE | Datenbankkonfigurations-Endpunkte sind erreichbar |
POTENTIALLY_VULNERABLE | Kombination von Indikatoren deutet auf mögliche Schwachstelle hin, aber Ausnutzbarkeit ist nicht verifiziert |
NOT_DETECTABLE | Unzureichende Informationen zur Bewertung |
Konfidenzwerte werden basierend auf dem Gewicht der Beweise berechnet und sind für die Remote-Erkennung auf 85 % begrenzt, um Überbewertungen zu vermeiden.
--force-Flag (Autorisierung erforderlich)--input, --threads)--prefilter)| Funktion | Gegen echtes Ziel | Gegen lokales Labor |
|---|---|---|
| Fingerprinting | ✅ Sicher (nur lesend) | ✅ Sicher |
| CVE-Bewertung | ✅ Sicher (indikatorbasiert) | ✅ Sicher |
| Konzeptdemonstration | ❌ BLOCKIERT (nur localhost) | ✅ Erlaubt |
| Remote-Ausnutzung | ⚠️ Erfordert --force & Autorisierung | ✅ Erlaubt |
| Konfigurationsänderungen | ❌ Nie | ✅ Nur innerhalb des Labors |
| RCE / Payload-Ausführung | ❌ Nie | ❌ Nicht implementiert (nur simuliert) |
# Repository klonen
git clone https://github.com/yourusername/papercut-cve-tool.git
cd papercut-cve-tool
# Virtuelle Umgebung erstellen
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
# oder
.venv\Scripts\activate # Windows
# Abhängigkeiten installieren
pip install -r requirements.txt
# Installation verifizieren
python papercut.py self-test
# Hilfe anzeigen
python papercut.py --help
# Vollständigen Scan gegen ein Ziel ausführen
python papercut.py scan http://127.0.0.1:8080
# Nur Fingerprinting
python papercut.py fingerprint http://127.0.0.1:8080
# Bestimmte CVE prüfen
python papercut.py check http://127.0.0.1:8080 --cve 81578
# Pädagogisches lokales Labor starten
python papercut.py lab
# Konzeptdemonstration ausführen (nur Labor)
python papercut.py exploit --cve 81578
# Remote-Exploit (AUTORISIERUNG ERFORDERLICH)
python papercut.py exploit --cve 81578 --target https://target.com:9192 --force
# Batch-Scan mit Prefilter und Threading
python papercut.py scan --input targets.txt --prefilter --threads 10 --timeout 5
# Log-Datei auf IOCs analysieren
python papercut.py detect server.log
# HTML-Bericht generieren
python papercut.py report result.json --format html
# Interaktives Menü
python papercut.py interactive
| Befehl | Beschreibung |
|---|---|
scan TARGET | Vollständiger Schwachstellenscan mit Fingerprinting + CVE-Prüfungen |
fingerprint TARGET | PaperCut-Version, Tapestry-Framework und exponierte Endpunkte erkennen |
check TARGET --cve {81578,82078} | Bestimmte CVE-Indikatorprüfung ausführen |
lab [--port PORT] [--test] | Pädagogisches lokales Labor starten (mit optionalem Selbsttest) |
exploit --cve {81578,82078} [--target] [--force] | Konzeptdemonstration oder Remote-Exploit ausführen (falls autorisiert) |
detect LOGFILE [--output] | Log-Datei auf verdächtige Indikatoren analysieren |
report INPUT [--format {html,json,text}] [--output] | Professionellen Bericht aus JSON-Ergebnissen generieren |
interactive | Interaktives Menü starten |
self-test | Interne Diagnose ausführen |
| Option | Beschreibung |
|---|---|
--timeout N | Anfrage-Timeout in Sekunden (Standard: 10) |
--verbose | Detaillierte Debug-Ausgabe anzeigen |
--quiet | Nicht wesentliche Ausgabe unterdrücken |
--output FILE | Ergebnisse in Datei speichern |
--format {text,json,html} | Ausgabeformat für Scan/Bericht |
| Option | Beschreibung |
|---|---|
--input FILE | Datei mit Zielen (eine pro Zeile) für Batch-Scans |
--output-dir DIR | Verzeichnis zum Speichern von Batch-Ergebnissen |
--threads N | Anzahl gleichzeitiger Threads (Batch-Modus) |
--prefilter | Offene Ports vor dem Scan prüfen (nur Batch) |
Das Labor ist ein minimaler Python-HTTP-Server, der die Konzepte beider Schwachstellen zu Bildungszwecken reproduziert.
ConfigEditor, UserList) auf, während eine öffentliche Seite (Error.page, Exception.page) angezeigt wird# Labor starten
python papercut.py lab
# Automatisierten Labortest ausführen
python papercut.py lab --test
Labor-Endpunkte:
http://127.0.0.1:8080/lab/cve-81578?component=ConfigEditor&display=Errorhttp://127.0.0.1:8080/lab/cve-82078?driver=org.attacker.RCEPayloadDas Tool analysiert Log-Dateien auf verdächtige Indikatoren (IOCs), die aus der Schwachstellenmechanik abgeleitet sind:
| Indikator | Schweregrad | Beschreibung |
|---|---|---|
tapestry_complex_direct | KRITISCH | Tapestry .page.*.zone-Anfragemuster |
admin_component_access | HOCH | ConfigEditor / UserList-Seitenzugriff |
public_page_tapestry | HOCH | Error / Exception-Seite mit Tapestry |
tapestry_post_request | KRITISCH | POST-Anfrage an Tapestry .page |
db_driver_config | KRITISCH | Änderungen an der Datenbanktreiberkonfiguration |
class_loading_error | HOCH | ClassNotFoundException / NoClassDefFoundError |
dynamic_class_loading | KRITISCH | Laden einer Klasse aus externer Quelle |
python papercut.py detect /var/log/papercut/server.log --output detection.json
Generieren Sie professionelle Berichte in HTML, JSON oder Klartext.
# Zuerst Scan-Ergebnisse als JSON speichern
python papercut.py scan http://127.0.0.1:8080 --format json --output result.json
# HTML-Bericht generieren
python papercut.py report result.json --format html --output report.html
# JSON-Bericht generieren
python papercut.py report result.json --format json --output report.json
# Textbericht generieren
python papercut.py report result.json --format text --output report.txt
Der HTML-Bericht enthält:
Basierend auf dem PaperCut Security Bulletin (27. August 2026):
| Versionsbereich | Status |
|---|---|
| 24.x < 24.1.10 | ❌ Betroffen |
| 24.1.10+ | ✅ Behoben |
| 25.x < 25.0.13 | ❌ Betroffen |
| 25.0.13+ | ✅ Behoben |
| 26.x < 26.0.5 | ❌ Betroffen |
| 26.0.5+ | ✅ Behoben |
| 23.x und älter | ⚠️ Ende der Lebensdauer – Upgrade empfohlen |
PaperCut verwendet das Apache Tapestry-Framework. Das „complex direct“-Anfrageformat von Tapestry erlaubt die Angabe von beidem:
Error.page)ConfigEditor.page)Die Zugriffsvalidierung prüft nur die angezeigte Seite, nicht die ausgeführte Komponente. Angreifer können administrative Komponenten aufrufen, während öffentliche Seiten angezeigt werden, und so die Authentifizierung vollständig umgehen.
Angriffsvektor: POST /papercut/ConfigEditor.page?... mit .zone-Anfrage, angezeigt über Error.page
PaperCut instanziiert JDBC-Datenbanktreiberklassen aus konfigurierbaren Treibernamen (z. B. database.driver.class). Die Anwendung validiert diese Klassennamen nicht gegen eine Allowlist. Angreifer, die die Systemkonfiguration manipulieren können (über die Authentifizierungsumgehung oder andere Mittel), können beliebige Java-Klassennamen angeben, die vom PaperCut-Dienstprozess geladen und instanziiert werden.
Auswirkung: Remote Code Execution (RCE) im Sicherheitskontext des PaperCut-Dienstes.
Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md für Richtlinien.
MIT-Lizenz – siehe LICENSE für Details.
Dieses Tool ist nur für autorisierte Sicherheitstests und Bildungszwecke bestimmt. Verwenden Sie es nicht gegen ein System ohne ausdrückliche schriftliche Genehmigung. Die Konzeptdemonstrationen sind auf localhost beschränkt und funktionieren nicht gegen entfernte Hosts.
Durch die Nutzung dieses Tools stimmen Sie zu:
Version: 3.1.0
Zuletzt aktualisiert: 2026-08-29
Betreuer: yora 1928
„Sicherheit ist kein Produkt, sondern ein Prozess.“ – Bruce Schneier
---
## 🚀 Nächste Schritte auf GitHub
1. **Öffnen** Sie `https://github.com/yora1928/PaperCut-CVE-2026-81578-82078`
2. **Klicken** Sie auf `README.md`
3. **Klicken** Sie auf das Stiftsymbol (Bearbeiten)
4. **Löschen** Sie den gesamten alten Inhalt
5. **Einfügen** Sie den gesamten obigen Text
6. **Klicken** Sie auf `Commit changes...`
7. **Schreiben** Sie die Commit-Nachricht: `Update README.md with final version`
8. **Klicken** Sie auf `Commit changes`
---
## 🎉 **Fertig! Ihr Projekt ist professionell und bereit für das Portfolio!** ⚡