Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-8794 — Énumération de noms d'utilisateur via canal auxiliaire temporel d'authentification dans PaperCut NG | Kitploit
Outils/GitHubGitHub/h4zaz/cve-2026-8794
ReconnaissanceAnalyse des VulnérabilitésExploitation d'Applications WebCollecte d'InformationsSécurité WebTests d'IntrusionAuthentification
GitHubh4zaz/cve-2026-8794

CVE-2026-8794

Énumération de noms d'utilisateur via canal auxiliaire temporel d'authentification dans PaperCut NG

Voir le dépôt
5il y a 26 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-8794 — Énumération d'utilisateurs via canal auxiliaire de temporisation d'authentification dans PaperCut NG

ChampDétails
ID CVECVE-2026-8794
ProduitPaperCut NG
Version affectée25.0.11 (Build 75758) et versions antérieures
CWECWE-208 — Discrepance de temporisation observable
Score CVSS3.7 (Faible) — seul ; augmente lorsqu'il est chaîné avec CVE-2026-8793
ChercheurVivien LEBAS (@Hazaz)
SignaléMai 2026
StatutCorrigé — PaperCut NG 26.0.3

Résumé

Le point de terminaison d'authentification de PaperCut NG présente une différence de temporisation mesurable entre les tentatives de connexion visant des comptes existants et celles visant des comptes inexistants. Cette différence — causée par le fait que le hachage bcrypt du mot de passe n'est effectué que lorsqu'un compte correspondant est trouvé — permet à un attaquant non authentifié de déterminer de manière fiable si un nom d'utilisateur donné existe dans le système en mesurant les temps de réponse HTTP.

Lorsqu'elle est combinée à CVE-2026-8793 (absence de protection contre la force brute), cette vulnérabilité permet une chaîne d'attaque complète de compromission des identifiants : énumérer d'abord les noms d'utilisateur valides, puis effectuer des tentatives illimitées de devinette de mots de passe ciblées sans aucun risque de verrouillage.


Détails techniques

Cause racine

La différence de temporisation provient d'un modèle d'implémentation classique : l'application n'invoque la comparaison bcrypt que lorsqu'un compte correspondant au nom d'utilisateur soumis est trouvé dans la base de données. Pour les comptes inexistants, la routine d'authentification se termine prématurément — avant l'appel à bcrypt — ce qui entraîne un temps de réponse mesurablement plus court.

root@kitploit:~
Nom d'utilisateur valide :   recherche en base (trouvé) → comparaison bcrypt → réponse d'échec  ~2,1 s en moyenne
Nom d'utilisateur invalide : recherche en base (non trouvé) → réponse d'échec immédiate           ~0,2 s en moyenne

Ce modèle est bien documenté (voir CWE-208). La correction standard consiste à effectuer une comparaison bcrypt factice même lorsque le compte n'existe pas, égalisant ainsi les temps de réponse sur les deux chemins de code.

Méthodologie de mesure

Des tentatives d'authentification ont été effectuées contre le point de terminaison de connexion de PaperCut NG dans des conditions contrôlées :

  • Environnement : laboratoire isolé, Windows Server 2022, réseau local (latence de base inférieure à la milliseconde)
  • Taille de l'échantillon : 15 tentatives par condition (nom d'utilisateur valide / nom d'utilisateur invalide)
  • Outil : curl avec --write-out "%{time_total}", mot de passe intentionnellement erroné dans tous les cas

Résultats

Les deux distributions ne présentent aucun chevauchement, ce qui rend l'énumération fiable même en présence d'une gigue réseau modérée.

Preuve de concept

root@kitploit:~
# Mesurer le temps de réponse pour un compte existant (mauvais mot de passe)
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<cible>:9191/app" \
  -H "Origin: http://<cible>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=admin&inputPassword=motdepasseinvalide"
# Sortie : ~2,1 s

# Mesurer le temps de réponse pour un compte inexistant
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<cible>:9191/app" \
  -H "Origin: http://<cible>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=zz_doesnotexist_zz&inputPassword=motdepasseinvalide"
# Sortie : ~0,2 s

Un temps de réponse nettement supérieur à ~0,5 s indique de manière fiable un nom d'utilisateur valide. Un simple script peut automatiser l'énumération contre une liste de mots de modèles de noms d'entreprise courants (prenom.nom, nprenom, etc.).


Chaîne d'attaque avec CVE-2026-8793

Cette découverte est la plus impactante lorsqu'elle est utilisée comme première étape d'une attaque en deux temps :

  1. Étape 1 (CVE-2026-8794, cette découverte) — Construire une liste de noms de comptes PaperCut NG valides en mesurant la temporisation des réponses d'authentification. Dans les environnements d'entreprise, une courte liste de mots de combinaisons prenom.nom dérivées de sources publiques (LinkedIn, site web de l'entreprise, signatures d'e-mails) est souvent suffisante.

  2. Étape 2 (CVE-2026-8793) — Soumettre des tentatives illimitées de mots de passe contre les comptes valides confirmés. L'absence de limitation de débit ou de verrouillage signifie que toute attaque de bourrage d'identifiants ou de pulvérisation de mots de passe peut être menée entièrement en ligne à pleine vitesse.


Impact

Un attaquant non authentifié ayant un accès réseau au port TCP/9191 peut :

  • Déterminer de manière fiable si un nom d'utilisateur donné est enregistré dans PaperCut NG
  • Construire une liste de noms d'utilisateur valides sans déclencher d'alertes ni de verrouillages
  • Utiliser cette liste comme première étape vers une compromission complète des identifiants via CVE-2026-8793

Dans les déploiements d'entreprise typiques, les noms d'utilisateur PaperCut reflètent les comptes Active Directory. Un nom d'utilisateur PaperCut confirmé valide est donc également un nom de compte de domaine confirmé valide, ce qui amplifie la valeur de la reconnaissance au-delà de PaperCut lui-même.


Correctifs

Pour les administrateurs (atténuations provisoires) :

  • Restreindre l'accès réseau au port TCP/9191 aux seuls hôtes d'administration de confiance
  • Déployer un proxy inverse ou un WAF devant PaperCut NG qui applique une limitation de débit sur le point de terminaison de connexion
  • Utiliser des formats de noms d'utilisateur non devinables et non standard lorsque cela est possible

Pour l'éditeur :

Effectuer une comparaison bcrypt factice à temps constant lorsque le nom d'utilisateur soumis ne correspond à aucun compte, afin d'égaliser les temps de réponse que le compte existe ou non :

root@kitploit:~
# Pseudo-code — modèle d'authentification à temps constant
user = db.find_user(username)
if user:
    valid = bcrypt.verify(password, user.password_hash)
else:
    bcrypt.verify(password, DUMMY_HASH)  # toujours exécuté, résultat ignoré
    valid = False

Il s'agit d'un modèle bien établi pour atténuer CWE-208 dans les flux d'authentification.


Chronologie

DateÉvénement
9 mai 2026Rapport initial soumis à l'équipe de sécurité PaperCut
10 mai 2026

Références

  • CVE-2026-8794 sur cve.org
  • CVE-2026-8793 — Vulnérabilité chaînée
  • CWE-208 : Discrepance de temporisation observable
  • Attaques temporelles sur les mots de passe — OWASP
  • Page produit PaperCut NG

Divulgué conformément aux principes de divulgation responsable. Les détails techniques complets ont été partagés avec l'équipe de sécurité PaperCut avant la publication publique.

Chercheur : Vivien LEBAS — @Hazaz

Télécharger l’outil
ConditionMin (s)Max (s)Moyenne (s)Écart type
Compte existant (admin)2,082,192,130,031
Compte inexistant (zz_doesnotexist_zz)0,180,240,210,018
Différence~1,92 s
Accusé de réception reçu
Mai 2026CVE-2026-8794 attribuée par PaperCut (CNA)
Août 2026Correctif publié — PaperCut NG 26.0.3
Août 2026Divulgation publique coordonnée avec l'éditeur