• [^] # Re: GnuTLS vs OpenSSL... mouais

    Posté par . En réponse à la dépêche GnuTLS ajoute le support de DTLS. Évalué à 8.

    Ce n'est pas le fait de supprimer un certificat auto-signé qui est une faille... c'est même légitime ce qu'ils voulaient faire. Mais ils le faisaient mal. Si le dernier certificat de la chaine était auto-signé, ils ne devaient pas le prendre en compte, vu que sinon ils pouvaient à tort le considérer comme invalide!
    Ce qu'ils faisaient mal, c'est qu'ils enlevaient le dernier certificat après l'avoir vérifié. Hors un homme du milieu qui envoyait une chaine avec deux certificats auto-signé, pouvait se faire passer pour valide. Bref, ils faisaient le test à l'envers.
    Il fallait en premier enlever le certificat auto-signé de la liste, puis vérifier la chaine par rapport à la liste de confiance. Mais le premier Patch faisait aussi une énorme boulette! Après avoir enlevé le certificat auto-signé, ils ne vérifiaient pas que la liste était vide! Du coup cela générait un segfault. Bref, le premier correctif à cette faille était mauvais car il générait un segfault et faisait planter le programme appelant, mais il fut corrigé avant que quoi que ce soit ne soit packagé officiellement. Bref, la faille était très gênante, et très facile à exploiter. Mais ce qui a introduit la faille était à la base une vérification légitime pour éviter un faux négatif. Par la suite, un correctif qui enlève en premier le certificat auto-signé, si la liste ne devenait pas vide à été fournit. (cf. ici)