Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-8794 — Enumeración de nombres de usuario mediante canal lateral de temporización de autenticación en PaperCut NG | Kitploit
Herramientas/GitHubGitHub/h4zaz/cve-2026-8794
ReconocimientoAnálisis de VulnerabilidadesExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad WebPruebas de PenetraciónAutenticación
GitHubh4zaz/cve-2026-8794

CVE-2026-8794

Enumeración de nombres de usuario mediante canal lateral de temporización de autenticación en PaperCut NG

Ver Repositorio
9hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-8794 — Enumeración de nombres de usuario mediante canal lateral de tiempo en la autenticación de PaperCut NG

CampoDetalles
ID CVECVE-2026-8794
ProductoPaperCut NG
Versión afectada25.0.11 (Build 75758) y anteriores
CWECWE-208 — Discrepancia temporal observable
Puntuación CVSS3.7 (Baja) — independiente; aumenta cuando se encadena con CVE-2026-8793
InvestigadorVivien LEBAS (@Hazaz)
NotificadoMayo de 2026
EstadoParcheado — PaperCut NG 26.0.3

Resumen

El punto final de autenticación de PaperCut NG presenta una discrepancia temporal medible entre los intentos de inicio de sesión contra cuentas existentes y no existentes. Esta discrepancia — causada porque el hash de contraseña bcrypt solo se ejecuta cuando se encuentra una cuenta coincidente — permite a un atacante no autenticado determinar de forma fiable si un nombre de usuario determinado existe en el sistema midiendo los tiempos de respuesta HTTP.

Cuando se combina con CVE-2026-8793 (ausencia de protección contra fuerza bruta), esta vulnerabilidad permite una cadena de ataque completa de compromiso de credenciales: primero enumerar nombres de usuario válidos y, después, realizar adivinación ilimitada de contraseñas dirigida sin riesgo de bloqueo.


Detalles técnicos

Causa raíz

La discrepancia temporal se origina en un patrón de implementación clásico: la aplicación solo invoca la comparación bcrypt cuando se encuentra en la base de datos una cuenta que coincida con el nombre de usuario enviado. Para cuentas inexistentes, la rutina de autenticación termina antes — antes de que se llame a bcrypt — lo que resulta en un tiempo de respuesta mediblemente más corto.

Nombre de usuario válido:   Búsqueda en BD (encontrado) → comparación bcrypt → respuesta de error  ~2,1 s de media
Nombre de usuario inválido: Búsqueda en BD (no encontrado) → respuesta de error inmediata            ~0,2 s de media

Este patrón está bien documentado (ver CWE-208). La remediación estándar es realizar una comparación bcrypt ficticia incluso cuando la cuenta no existe, igualando los tiempos de respuesta en ambas rutas de código.

Metodología de medición

Se realizaron intentos de autenticación contra el punto final de inicio de sesión de PaperCut NG en condiciones controladas:

  • Entorno: Laboratorio aislado, Windows Server 2022, red local (latencia base de submilisegundos)
  • Tamaño de muestra: 15 intentos por condición (nombre de usuario válido / nombre de usuario inválido)
  • Herramienta: curl con --write-out "%{time_total}", contraseña intencionalmente incorrecta en todos los casos

Resultados

CondiciónMín (s)Máx (s)Media (s)Desv. estándar
Cuenta existente (admin)2,082,192,130,031
Cuenta inexistente (zz_doesnotexist_zz)0,180,240,210,018
Diferencia~1,92 s

Las dos distribuciones muestran cero solapamiento, lo que hace que la enumeración sea fiable incluso con una fluctuación de red moderada.

Prueba de concepto

# Mide el tiempo de respuesta para una cuenta existente (contraseña incorrecta)
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"
# Salida: ~2.1s

# Mide el tiempo de respuesta para una cuenta inexistente
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"
# Salida: ~0.2s

Un tiempo de respuesta significativamente superior a ~0,5 s indica de forma fiable un nombre de usuario válido. Un script sencillo puede automatizar la enumeración contra una lista de palabras con patrones comunes de nombres corporativos (firstname.lastname, flastname, etc.).


Cadena de ataque con CVE-2026-8793

Este hallazgo tiene mayor impacto cuando se utiliza como primer paso de un ataque en dos etapas:

  1. Paso 1 (CVE-2026-8794, este hallazgo) — Construir una lista de nombres de cuenta válidos de PaperCut NG midiendo los tiempos de respuesta de autenticación. En entornos corporativos, una lista de palabras corta con combinaciones de firstname.lastname derivadas de fuentes públicas (LinkedIn, sitio web de la empresa, firmas de correo electrónico) suele ser suficiente.

  2. Paso 2 (CVE-2026-8793) — Enviar intentos ilimitados de contraseña contra cuentas válidas confirmadas. La ausencia de limitación de velocidad o bloqueo significa que cualquier ataque de relleno de credenciales o rociado de contraseñas puede realizarse completamente en línea a máxima velocidad.


Impacto

Un atacante no autenticado con acceso de red al TCP/9191 puede:

  • Determinar de forma fiable si un nombre de usuario dado está registrado en PaperCut NG
  • Construir una lista de nombres de usuario válidos sin activar alertas ni bloqueos
  • Usar esta lista como primer paso hacia el compromiso total de credenciales mediante CVE-2026-8793

En despliegues corporativos típicos, los nombres de usuario de PaperCut reflejan las cuentas de Active Directory. Un nombre de usuario válido confirmado de PaperCut es, por tanto, también un nombre de cuenta de dominio válido confirmado, lo que amplifica el valor de reconocimiento más allá del propio PaperCut.


Remediación

Para administradores (mitigaciones provisionales):

  • Restringir el acceso de red al TCP/9191 únicamente a hosts de gestión de confianza
  • Implementar un proxy inverso o WAF frente a PaperCut NG que aplique limitación de velocidad en el punto final de inicio de sesión
  • Usar formatos de nombre de usuario no adivinables y no estándar cuando sea posible

Para el proveedor:

Realizar una comparación bcrypt ficticia en tiempo constante cuando el nombre de usuario enviado no coincida con ninguna cuenta, asegurando que los tiempos de respuesta se igualen independientemente de si la cuenta existe:

# Pseudocódigo — patrón de autenticación en tiempo constante
user = db.find_user(username)
if user:
    valid = bcrypt.verify(password, user.password_hash)
else:
    bcrypt.verify(password, DUMMY_HASH)  # se ejecuta siempre; se descarta el resultado
    valid = False

Este es un patrón bien establecido para mitigar CWE-208 en flujos de autenticación.


Cronología

FechaEvento
9 de mayo de 2026Informe inicial enviado al equipo de seguridad de PaperCut
10 de mayo de 2026Acuse de recibo recibido
Mayo de 2026CVE-2026-8794 asignado por PaperCut (CNA)
Agosto de 2026Parche publicado — PaperCut NG 26.0.3
Agosto de 2026Divulgación pública coordinada con el proveedor

Referencias

  • CVE-2026-8794 en cve.org
  • CVE-2026-8793 — Vulnerabilidad encadenada
  • CWE-208: Discrepancia temporal observable
  • Ataques de temporización contra contraseñas — OWASP
  • Página de producto de PaperCut NG

Divulgado de acuerdo con los principios de divulgación responsable. Los detalles técnicos completos se compartieron con el equipo de seguridad de PaperCut antes de la publicación pública.

Investigador: Vivien LEBAS — @Hazaz

Descargar herramienta