
#Kit de défense PaperCut CVE-2026-81578 + CVE-2026-82078 2 3 Un kit **défensif** pour vérifier et comprendre l’exposition à la chaîne
Un kit défensif pour vérifier et comprendre l'exposition aux vulnérabilités d'exécution de code à distance pré-authentification chaînées dans PaperCut :
Lorsqu'elles sont chaînées : Internet → pas d'authentification → manipulation de configuration → chargement de classes non sécurisé → exécution Java arbitraire → exécution de commandes sur l'hôte.
| Fichier | Objectif |
|---|
papercut-exposure-checker.py | Détection défensive approfondie : version vs correctif, exposition web, analyse des IOC, analyse des anomalies de configuration, analyse des payloads .class déposés |
papercut-cve-prevention.md | Référence montrant les modèles de code vulnérables vs sécurisés pour la CWE-306 et le chargement de classes non sécurisé |
Le scanner va au-delà de la vérification de version. Il détecte les artefacts d'attaque réels observés dans la nature (avis Huntress / PaperCut) :
< 24.1.10, < 25.0.13, < 26.0.5).--log) — détecte les artefacts de l'attaquant dans server.log :
jdbc:derby:memory:pwn (base de données mémoire Derby utilisée dans la chaîne de gadgets)No suitable driver found for jdbc:no:xdatabase error looking up cardIDwhoami & ver, whoami & ver & tasklist)--config) — signale les paramètres de recherche d'utilisateurs externes modifiés par l'attaquant :
jdbc:h2, jdbc:derby:memory)INIT/CALL (indices de gadgets Derby→H2)--lib) — détecte les fichiers .class déposés par l'attaquant dans server/lib (observés : Udydn.class, Moo97.class).# Vérifier l'exposition web d'un serveur PaperCut (non destructif)
python3 papercut-exposure-checker.py --url https://print.server:9191
# Évaluer une version de build par rapport aux builds corrigées
python3 papercut-exposure-checker.py --version 25.0.11.75758
# Analyser un journal serveur pour les IOC publiés (artefacts de payload)
python3 papercut-exposure-checker.py --log /usr/local/papercut/server/logs/server.log
# Analyser le fichier de configuration pour les paramètres de recherche d'utilisateurs modifiés
python3 papercut-exposure-checker.py --config /usr/local/papercut/server/server.properties
# Analyser le répertoire lib pour les payloads .class déposés
python3 papercut-exposure-checker.py --lib /usr/local/papercut/server/lib
# Analyse approfondie complète + rapports HTML/JSON
python3 papercut-exposure-checker.py \
--url https://print.server:9191 \
--version 25.0.11.75758 \
--log /usr/local/papercut/server/logs/server.log \
--config /usr/local/papercut/server/server.properties \
--lib /usr/local/papercut/server/lib \
--html report.html --json report.json
pc-app.exe (post-exploitation)server.log manquant, tronqué ou suppriméNo suitable driver found, erreurs spécifiques de recherche CardIDRemarque : L'absence d'IOC ne prouve PAS qu'un serveur est sain.
Ce kit est uniquement défensif. Il n'exploite rien et doit être utilisé uniquement sur des serveurs que vous êtes autorisé à tester. La référence de prévention montre des modèles de code corrects/sécurisés pour l'apprentissage et le durcissement — jamais pour attaquer.
Avant une utilisation en production, vérifiez les numéros de build exacts de
l'Emergency Patch Release 2 dans l'avis du fournisseur et mettez à jour
PATCHED_BUILDS dans le scanner (des valeurs de remplacement sont utilisées).