Qu'est-ce que c'est ?
Résumé
La bibliothèque Perl Net::OAuth dans ses versions antérieures à 0.33 permet à un client distant d'imposer l'algorithme de signature utilisé lors de la vérification. Cela permet à un attaquant de forcer l'usage d'une méthode HMAC sur un serveur configuré en RSA pour exploiter un secret fictif prévisible et forger des requêtes OAuth valides.
Net::OAuth versions before 0.33 for Perl allow the sender to choose the signature algorithm in verify. verify resolves the signature method class from the signature_method parameter of the incoming message. signature_method is required on every request, so the algorithm used to check a signature is chosen by whoever sent it, and nothing lets the verifying party pin the method instead. When a message names HMAC-SHA1 or HMAC-SHA256, the key is derived from consumer_secret and token_secret rather than from the key the provider deployed. A provider deployed on RSA-SHA1 holds only the consumer public key, and RFC 5849 does not use consumer_secret for that method, so the required parameter is filled with a placeholder. A client that names HMAC-SHA1 instead has its signature checked against that placeholder, so a guessable one is enough to forge requests for any consumer key and token.
Technologies affectées
Non précisé par la fiche NVD.
Recommandation
Mettez à jour le module Net::OAuth vers la version 0.33 ou supérieure dès maintenant. En attendant l'application du correctif, contrôlez manuellement le paramètre signaturemethod dans votre code avant d'appeler verify afin de rejeter toute requête n'utilisant pas explicitement l'algorithme prévu par votre service.
Généré automatiquement à partir de la description CVE -- vérifie les références officielles avant d'agir.
Exploits publics connus (0)
Aucun proof-of-concept public trouvé sur GitHub à ce jour. Ça peut changer : les PoC sont souvent publiés plusieurs jours ou semaines après la divulgation.