
#Kit de Defesa PaperCut CVE-2026-81578 + CVE-2026-82078 2 3 Um kit **defensivo** para verificar e compreender a exposição à cadeia
Um kit defensivo para verificar e compreender a exposição às vulnerabilidades encadeadas de execução remota de código sem autenticação no PaperCut:
Quando encadeadas: Internet → sem autenticação → manipulação de configuração → carregamento inseguro de classe → execução arbitrária de Java → execução de comandos no host.
| Arquivo | Finalidade |
|---|
papercut-exposure-checker.py | Detecção defensiva profunda: versão vs patch, exposição web, varredura de IOC, varredura de anomalias de configuração, varredura de payload .class descartado |
papercut-cve-prevention.md | Referência mostrando padrões de código vulneráveis vs seguros para CWE-306 e carregamento inseguro de classe |
O scanner vai além da verificação de versão. Ele detecta os artefatos reais de ataque observados em campo (advisory Huntress / PaperCut):
< 24.1.10, < 25.0.13, < 26.0.5).--log) — detecta artefatos de atacante em server.log:
jdbc:derby:memory:pwn (banco de dados Derby em memória usado na cadeia de gadgets)No suitable driver found for jdbc:no:xdatabase error looking up cardIDwhoami & ver, whoami & ver & tasklist)--config) — sinaliza configurações de pesquisa de usuário externo modificadas por atacantes:
jdbc:h2, jdbc:derby:memory)INIT/CALL (indícios de gadget Derby→H2)--lib) — detecta arquivos .class descartados por atacantes em server/lib (observados: Udydn.class, Moo97.class).# Verificar exposição web de um servidor PaperCut (não destrutivo)
python3 papercut-exposure-checker.py --url https://print.server:9191
# Avaliar uma versão de build contra builds corrigidos
python3 papercut-exposure-checker.py --version 25.0.11.75758
# Escanear um log de servidor em busca de IOCs publicados (artefatos de payload)
python3 papercut-exposure-checker.py --log /usr/local/papercut/server/logs/server.log
# Escanear arquivo de configuração em busca de configurações de pesquisa de usuário modificadas por atacantes
python3 papercut-exposure-checker.py --config /usr/local/papercut/server/server.properties
# Escanear diretório lib em busca de payloads .class descartados
python3 papercut-exposure-checker.py --lib /usr/local/papercut/server/lib
# Varredura profunda completa + relatórios 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 (pós-exploração)server.log ausente, truncado ou excluídoNo suitable driver found, erros específicos de consulta de CardIDObservação: A ausência de IOCs NÃO prova que um servidor está limpo.
Este kit é apenas defensivo. Ele não explora nada e deve ser usado somente em servidores que você está autorizado a testar. A referência de prevenção mostra padrões de código corretos/seguros para aprendizado e endurecimento — nunca para ataque.
Antes do uso em produção, verifique os números exatos de build do Emergency Patch Release 2
no advisory do fornecedor e atualize PATCHED_BUILDS no scanner
(valores de espaço reservado são usados).