Vulnérabilité dans zlib qui se produit lors de la compression de données spécialement conçues

Une vulnérabilité (CVE-2018-25032) a été identifiée dans la bibliothèque zlib, entraînant un débordement de tampon lors de la tentative de compression d'une séquence de caractères spécialement préparée dans les données entrantes. Dans sa forme actuelle, les chercheurs ont démontré la capacité de provoquer l’arrêt anormal d’un processus. La question de savoir si le problème pourrait avoir des conséquences plus graves n’a pas encore été étudiée.

La vulnérabilité apparaît à partir de la version zlib 1.2.2.2 et affecte également la version actuelle de zlib 1.2.11. Il est à noter qu'un correctif pour corriger la vulnérabilité a été proposé en 2018, mais les développeurs n'y ont pas prêté attention et n'ont pas publié de version corrective (la bibliothèque zlib a été mise à jour pour la dernière fois en 2017). Le correctif n'est pas non plus encore inclus dans les packages proposés par les distributions. Vous pouvez suivre la publication des correctifs par distributions sur ces pages : Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. La bibliothèque zlib-ng n'est pas affectée par le problème.

La vulnérabilité se produit si le flux d'entrée contient un grand nombre de correspondances à compresser, auxquelles le compactage est appliqué sur la base de codes de Huffman fixes. Dans certaines circonstances, le contenu du tampon intermédiaire dans lequel le résultat compressé est placé peut chevaucher la mémoire dans laquelle la table de fréquence des symboles est stockée. En conséquence, des données compressées incorrectes sont générées et se bloquent en raison d'une écriture en dehors des limites de la mémoire tampon.

La vulnérabilité ne peut être exploitée qu'en utilisant une stratégie de compression basée sur des codes de Huffman fixes. Une stratégie similaire est choisie lorsque l'option Z_FIXED est explicitement activée dans le code (un exemple de séquence qui conduit à un crash lors de l'utilisation de l'option Z_FIXED). À en juger par le code, la stratégie Z_FIXED peut également être sélectionnée automatiquement si les arbres optimaux et statiques calculés pour les données ont la même taille.

Il n'est pas encore clair si les conditions d'exploitation de la vulnérabilité peuvent être sélectionnées à l'aide de la stratégie de compression par défaut Z_DEFAULT_STRATEGY. Sinon, la vulnérabilité sera limitée à certains systèmes spécifiques qui utilisent explicitement l'option Z_FIXED. Si tel est le cas, les dommages causés par la vulnérabilité pourraient être très importants, car la bibliothèque zlib est un standard de facto et est utilisée dans de nombreux projets populaires, notamment le noyau Linux, OpenSSH, OpenSSL, Apache httpd, libpng, FFmpeg, rsync, dpkg. , RPM, Git, PostgreSQL, MySQL, etc.

Source: opennet.ru

Ajouter un commentaire