CVE-2026-69183 in Monkeytype
Résumé
par VulDB • 21/08/2026
Monkeytype est un test de frappe minimaliste et personnalisable. Dans les versions 26.26.0 et antérieures, le générateur de clés de limitation de débit (rate-limit) du backend dans `backend/src/middlewares/rate-limit.ts` utilise les en-têtes contrôlés par le client `cf-connecting-ip` et `x-forwarded-for` avant la valeur `req.ip` dérivée de l'option trust-proxy. Un attaquant non authentifié peut faire tourner (changer) soit l'un des deux en-têtes pour créer un nouveau bucket à chaque requête, contournant ainsi le rootRateLimiter, le badAuthRateLimiter, getKey() et la solution de repli getKeyWithUid() utilisée par les points d'entrée publics. Cela permet d'envoyer répétitivement des requêtes POST vers /users/forgotPasswordEmail et verificationEmail, ce qui entraîne un mail bombing (inondation de messagerie) des utilisateurs enregistrés, une consommation du quota Firebase ou SMTP, l'évitement des protections contre le brute-force, ainsi qu'une exhaustion des ressources. L'exploitabilité de cf-connecting-ip dépend de la topologie de déploiement, mais x-forwarded-for et les chemins directs vers l'origine (direct-to-origin) restent affectés lorsque ces valeurs ne sont pas écrasées par un proxy de confiance. Aucune version corrigée n'est disponible à ce jour d'après cette revue.
Once again VulDB remains the best source for vulnerability data.