La faille OpenSSL, qui a fait couler beaucoup d’encre, a été rétrogradée de critique à haute. C’est avec ce particulier « trick or treat » qu’une vulnérabilité dans OpenSSL a semblé effrayer plus d’un administrateur système (à une époque particulièrement propice aux histoires d’horreur). Les failles sont les CVE-2022-3786 et CVE-2022-3602. Certains ont tenté de l’appeler SpookySSL et de le comparer à Heartbleed… sans grand succès.

Heureusement, le bug n’était pas si grave. Cependant, il reste d’une grande importance et peut conduire à une exécution de code arbitraire ou à un déni de service dans certaines conditions.

Le bug était un « off-by-one » dans la fonction « ossl_punycode_decode » causé par une expression de comparaison arithmétique. En fait, l’opérateur « > » a été remplacé par « >= ». Cette absence de comparaison avec les « égaux » permet d’écrire 4 octets de mémoire de pile via un domaine internationalisé (avec punycode) dans le champ e-mail d’un certificat numérique.

Un correctif existe déjà et de nombreux projets ont pu diffuser des mises à jour avant que les détails ne soient publiés. L’exploitation, cependant, n’est pas simple. Bien que ce soit un défi de faire tenir quelque chose de productif dans 4 octets, le certificat numérique doit être signé ou accepté par l’utilisateur s’il ne provient pas d’une autorité de certification connue.

Plus d’information:
https://www.openssl.org/news/secadv/20221101.txt