L'organisation ISRG (Internet Security Research Group), qui est à l'origine du projet Let's Encrypt et qui contribue au développement de technologies visant à renforcer la sécurité d'Internet, a présenté le projet zlib-rs, qui vise à créer un équivalent sécurisé de la bibliothèque de compression de données zlib. Le code de zlib-rs est écrit en Rust et est distribué sous la licence Zlib. Le développement s'inspire du projet zlib-ng, qui vise à développer une version haute performance de zlib. Deux bibliothèques ont été développées par le projet : zlib-rs, qui implémente l'API zlib sans utiliser de blocs unsafe ; et libz-rs-sys, une couche intermédiaire avec support de l'API C, contenant du code en mode 'unsafe'.
La raison invoquée pour la création de zlib-rs est le souhait de fournir une version de zlib dépourvue des vulnérabilités potentielles causées par des erreurs de gestion de la mémoire. Selon les entreprises Microsoft et Google, environ 70 % des vulnérabilités sont liées à une utilisation non sécurisée de la mémoire. Il est prévu que l'utilisation du langage Rust pour le développement de zlib-rs réduira le risque d'apparition de vulnérabilités dues à une manipulation non sécurisée de la mémoire et éliminera des erreurs telles que l'accès à la mémoire après sa libération et le dépassement de tampon.
La bibliothèque Zlib est largement répandue et est utilisée comme dépendance dans de nombreux systèmes, malgré le fait que le code de Zlib révèle périodiquement des vulnérabilités dangereuses. Par exemple, en 2022, un débordement de tampon a été découvert dans zlib lors de la tentative de compression d'une séquence de caractères spécialement préparée, ce qui permettait d'exploiter la vulnérabilité par le biais de données d'entrée spécialement formatées.
Source : opennet.ru
