CVE-2026-33935 in MyTube
Résumé
par VulDB • 24/05/2026
MyTube est un outil de téléchargement et de lecture auto-hébergé pour plusieurs sites de vidéos. Avant la version 1.8.72, un attaquant non authentifié peut bloquer les comptes administrateur et visiteur de l'authentification basée sur un mot de passe en déclenchant des tentatives de connexion échouées. L'application expose trois points de terminaison de vérification de mot de passe, tous accessibles publiquement. Ces trois points de terminaison partagent un état unique des tentatives de connexion basé sur un fichier, stocké dans `login-attempts.json`. Lorsqu'un point de terminaison enregistre une tentative d'authentification échouée via `recordFailedAttempt()`, l'état partagé des tentatives de connexion est mis à jour, augmentant le compteur `failedAttempts` et ajustant les horodatages et les valeurs de temporisation associés. Avant de vérifier un mot de passe, chaque point de terminaison appelle `canAttemptLogin()`. Cette fonction vérifie le fichier JSON partagé pour déterminer si une période de temporisation est active. Si la temporisation n'est pas expirée, la requête est rejetée avant la validation du mot de passe. Étant donné que le compteur d'échecs et la minuterie de temporisation sont partagés globalement, les tentatives d'authentification échouées contre n'importe quel point de terminaison affectent tous les autres points de terminaison. Un attaquant peut exploiter cette vulnérabilité en envoyant répétitivement des requêtes d'authentification invalides vers l'un de ces points de terminaison, augmentant ainsi le compteur partagé et attendant la période de temporisation entre les tentatives. De cette manière, l'attaquant peut augmenter progressivement la durée du blocage jusqu'à atteindre 24 heures, empêchant efficacement les utilisateurs légitimes de s'authentifier. Une fois le blocage maximal atteint, l'attaquant peut maintenir le déni de service indéfiniment en attendant l'expiration de la temporisation et en envoyant une autre tentative échouée, ce qui déclenche immédiatement un autre blocage de 24 heures si aucune connexion réussie n'a eu lieu entre-temps. La version 1.8.72 corrige la vulnérabilité.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.