Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-8794 — Enumeração de Usuários via Canal Lateral de Temporização na Autenticação do PaperCut NG | Kitploit
Ferramentas/GitHubGitHub/h4zaz/cve-2026-8794
ReconhecimentoAnálise de VulnerabilidadesExploração de Aplicações WebColeta de InformaçõesSegurança WebTestes de PenetraçãoAutenticação
GitHubh4zaz/cve-2026-8794

CVE-2026-8794

Enumeração de Usuários via Canal Lateral de Temporização na Autenticação do PaperCut NG

Ver Repositório
há 4 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-8794 — Enumeração de Nomes de Usuário via Canal Lateral de Temporização de Autenticação no PaperCut NG

CampoDetalhes
ID da CVECVE-2026-8794
ProdutoPaperCut NG
Versão Afetada25.0.11 (Build 75758) e anteriores
CWECWE-208 — Discrepância de Temporização Observável
Pontuação CVSS3.7 (Baixa) — isolada; escala quando encadeada com a CVE-2026-8793
PesquisadorVivien LEBAS (@Hazaz)
RelatadoMaio de 2026
StatusCorrigido — PaperCut NG 26.0.3

Resumo

O endpoint de autenticação do PaperCut NG apresenta uma discrepância de temporização mensurável entre tentativas de login em contas existentes e inexistentes. Essa discrepância — causada pelo fato de o hash de senha bcrypt ser executado apenas quando uma conta correspondente é encontrada — permite que um atacante não autenticado determine de forma confiável se um determinado nome de usuário existe no sistema, medindo os tempos de resposta HTTP.

Quando combinada com a CVE-2026-8793 (ausência de proteção contra força bruta), essa vulnerabilidade possibilita uma cadeia completa de ataque de comprometimento de credenciais: primeiro enumerar nomes de usuário válidos e depois realizar tentativas ilimitadas e direcionadas de senha, sem risco de bloqueio.


Detalhes Técnicos

Causa Raiz

A discrepância de temporização decorre de um padrão clássico de implementação: a aplicação só invoca a comparação bcrypt quando encontra no banco de dados uma conta correspondente ao nome de usuário informado. Para contas inexistentes, a rotina de autenticação sai antecipadamente — antes que o bcrypt seja chamado — resultando em um tempo de resposta mensuravelmente menor.

root@kitploit:~
Valid username:   DB lookup (found) → bcrypt comparison → failure response  ~2.1s avg
Invalid username: DB lookup (not found) → immediate failure response         ~0.2s avg

Esse padrão é bem documentado (ver CWE-208). A correção padrão é realizar uma comparação bcrypt fictícia mesmo quando a conta não existe, equalizando os tempos de resposta nos dois caminhos de código.

Metodologia de Medição

Tentativas de autenticação foram feitas contra o endpoint de login do PaperCut NG sob condições controladas:

  • Ambiente: Laboratório isolado, Windows Server 2022, rede local (latência base inferior a um milissegundo)
  • Tamanho da amostra: 15 tentativas por condição (nome de usuário válido / nome de usuário inválido)
  • Ferramenta: curl com --write-out "%{time_total}", senha intencionalmente incorreta em todos os casos

Resultados

As duas distribuições apresentam sobreposição zero, tornando a enumeração confiável mesmo com instabilidade moderada de rede.

Prova de Conceito

root@kitploit:~
# Measure response time for an existing account (wrong password)
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<target>:9191/app" \
  -H "Origin: http://<target>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=admin&inputPassword=wrongpassword"
# Output: ~2.1s

# Measure response time for a non-existent account
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<target>:9191/app" \
  -H "Origin: http://<target>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=zz_doesnotexist_zz&inputPassword=wrongpassword"
# Output: ~0.2s

Cadeia de Ataque com a CVE-2026-8793

Essa descoberta é mais impactante quando usada como primeiro passo de um ataque em duas etapas:

  1. Etapa 1 (CVE-2026-8794, esta descoberta) — Construir uma lista de nomes de contas válidas do PaperCut NG medindo as respostas de autenticação. Em ambientes corporativos, uma pequena wordlist de combinações firstname.lastname obtidas de fontes públicas (LinkedIn, site da empresa, rodapés de e-mail) costuma ser suficiente.

  2. Etapa 2 (CVE-2026-8793) — Enviar tentativas ilimitadas de senha contra contas válidas confirmadas. A ausência de limitação de taxa ou bloqueio significa que qualquer ataque de credential stuffing ou password spraying pode ser conduzido inteiramente online, em velocidade total.


Impacto

Um atacante não autenticado com acesso de rede ao TCP/9191 pode:

  • Determinar de forma confiável se qualquer nome de usuário está registrado no PaperCut NG
  • Construir uma lista de nomes de usuário válidos sem disparar alertas ou bloqueios
  • Usar essa lista como primeiro passo para o comprometimento total de credenciais via CVE-2026-8793

Em implantações corporativas típicas, os nomes de usuário do PaperCut espelham as contas do Active Directory. Portanto, um nome de usuário válido confirmado no PaperCut também é um nome de conta de domínio válido confirmado, ampliando o valor de reconhecimento para além do próprio PaperCut.


Remediação

Para administradores (mitigações provisórias):

  • Restrinja o acesso de rede ao TCP/9191 apenas a hosts de gerenciamento confiáveis
  • Implante um proxy reverso ou WAF na frente do PaperCut NG que aplique limitação de taxa no endpoint de login
  • Use formatos de nome de usuário não adivinháveis e não padronizados sempre que possível

Para o fornecedor:

Realize uma comparação bcrypt fictícia em tempo constante quando o nome de usuário informado não corresponder a nenhuma conta, garantindo que os tempos de resposta sejam equalizados independentemente de a conta existir:

root@kitploit:~
# Pseudocode — constant-time authentication pattern
user = db.find_user(username)
if user:
    valid = bcrypt.verify(password, user.password_hash)
else:
    bcrypt.verify(password, DUMMY_HASH)  # always run, result discarded
    valid = False

Esse é um padrão bem estabelecido para mitigar a CWE-208 em fluxos de autenticação.


Linha do Tempo

DataEvento
9 de maio de 2026Relatório inicial enviado à equipe de segurança do PaperCut

Referências

  • CVE-2026-8794 em cve.org
  • CVE-2026-8793 — Vulnerabilidade encadeada
  • CWE-208: Discrepância de Temporização Observável
  • Ataques de Temporização em Senhas — OWASP
  • Página do Produto PaperCut NG

Divulgado de acordo com os princípios de divulgação responsável. Todos os detalhes técnicos foram compartilhados com a equipe de segurança do PaperCut antes da divulgação pública.

Pesquisador: Vivien LEBAS — @Hazaz

Baixar ferramenta
CondiçãoMín (s)Máx (s)Média (s)Desvio Padrão
Conta existente (admin)2.082.192.130.031
Conta inexistente (zz_doesnotexist_zz)0.180.240.210.018
Diferença~1.92s
10 de maio de 2026Confirmação de recebimento
Maio de 2026CVE-2026-8794 atribuída pelo PaperCut (CNA)
Agosto de 2026Correção lançada — PaperCut NG 26.0.3
Agosto de 2026Divulgação pública coordenada com o fornecedor