
#Kit de Defensa para PaperCut CVE-2026-81578 + CVE-2026-82078 2 3 Un kit **defensivo** para verificar y comprender la exposición a la cadena
Un kit defensivo para verificar y comprender la exposición a las vulnerabilidades encadenadas de ejecución remota de código sin autenticación previa en PaperCut:
Cuando se encadenan: Internet → sin autenticación → manipulación de configuración → carga de clases insegura → ejecución arbitraria de Java → ejecución de comandos en el host.
| Archivo | Propósito |
|---|
papercut-exposure-checker.py | Detección defensiva profunda: versión vs parche, exposición web, escaneo de IOC, escaneo de anomalías de configuración, escaneo de payloads .class eliminados |
papercut-cve-prevention.md | Referencia que muestra patrones de código vulnerables vs seguros tanto para CWE-306 como para la carga de clases insegura |
El escáner va más allá de la verificación de versiones. Detecta los artefactos de ataque reales observados en la naturaleza (advisory de Huntress / PaperCut):
< 24.1.10, < 25.0.13, < 26.0.5).--log) — detecta artefactos de atacantes en server.log:
jdbc:derby:memory:pwn (base de datos Derby en memoria utilizada en la cadena de gadgets)No suitable driver found for jdbc:no:xdatabase error looking up cardIDwhoami & ver, whoami & ver & tasklist)--config) — marca configuraciones de búsqueda de usuarios externos modificadas por atacantes:
jdbc:h2, jdbc:derby:memory)INIT/CALL (pistas de gadgets Derby→H2)--lib) — detecta archivos .class eliminados por atacantes en server/lib (observados: Udydn.class, Moo97.class).# Verificar la exposición web de un servidor PaperCut (no destructivo)
python3 papercut-exposure-checker.py --url https://print.server:9191
# Evaluar una versión de compilación frente a compilaciones parcheadas
python3 papercut-exposure-checker.py --version 25.0.11.75758
# Escanear un registro del servidor en busca de IOC publicados (artefactos de payload)
python3 papercut-exposure-checker.py --log /usr/local/papercut/server/logs/server.log
# Escanear archivo de configuración en busca de configuraciones de búsqueda de usuarios modificadas por atacantes
python3 papercut-exposure-checker.py --config /usr/local/papercut/server/server.properties
# Escanear directorio lib en busca de payloads .class eliminados
python3 papercut-exposure-checker.py --lib /usr/local/papercut/server/lib
# Escaneo profundo completo + informes 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-explotación)server.log faltante, truncado o eliminadoNo suitable driver found, errores específicos de búsqueda de CardIDNota: La ausencia de IOC NO prueba que un servidor esté limpio.
Este kit es solo defensivo. No explota nada y debe usarse únicamente en servidores que esté autorizado a probar. La referencia de prevención muestra patrones de código correctos/seguros para aprendizaje y endurecimiento — nunca para atacar.
Antes del uso en producción, verifique los números de compilación exactos del Parche de Emergencia de Lanzamiento 2 en el advisory del proveedor y actualice PATCHED_BUILDS en el escáner (se utilizan valores de marcador de posición).