A organização ISRG (Internet Security Research Group), fundadora do projeto Let's Encrypt e que contribui para o desenvolvimento de tecnologias que aumentam a segurança da internet, apresentou o projeto zlib-rs, destinado a criar uma alternativa segura à biblioteca de compressão de dados zlib. O código do zlib-rs é escrito na linguagem Rust e é distribuído sob a licença Zlib. O desenvolvimento é inspirado no projeto zlib-ng, que desenvolve uma versão de alto desempenho do zlib. O projeto desenvolveu duas bibliotecas: zlib-rs com a implementação da API zlib, que não utiliza blocos 'unsafe'; libz-rs-sys — uma camada com suporte à API C, contendo código em modo 'unsafe'.
Como razão para a criação do zlib-rs, cita-se a intenção de fornecer uma versão do zlib livre de potenciais falhas causadas por erros de manipulação de memória. De acordo com as empresas Microsoft e Google, cerca de 70% das vulnerabilidades são causadas por manipulação insegura da memória. Supõe-se que o uso da linguagem Rust no desenvolvimento do zlib-rs ajudará a reduzir o risco de surgimento de vulnerabilidades causadas por manipulação insegura da memória e eliminará erros como o acesso a áreas de memória após a sua liberação e o estouro de buffer.
A biblioteca Zlib é amplamente utilizada e serve como dependência em muitos sistemas, embora o código do Zlib periodicamente apresente vulnerabilidades perigosas. Por exemplo, em 2022, foi descoberta uma falha de estouro de buffer no zlib ao tentar comprimir uma sequência de caracteres especialmente preparada, que permitia explorar a vulnerabilidade através do envio de dados de entrada malformados.
Fonte: opennet.ru
