L'organizzazione ISRG (Internet Security Research Group), che è il fondatore del progetto Let’s Encrypt e promuove lo sviluppo di tecnologie per migliorare la sicurezza di Internet, ha presentato il progetto zlib-rs per creare un'alternativa sicura alla libreria di compressione dati zlib. Il codice zlib-rs è scritto in Rust e distribuito con licenza Zlib. Lo sviluppo è orientato al progetto zlib-ng, che sviluppa una versione ad alte prestazioni di zlib. Il progetto ha sviluppato due librerie: zlib-rs con un'implementazione dell'API zlib che non utilizza blocchi unsafe; libz-rs-sys — un wrapper con supporto per l'API C, contenente codice in modalità 'unsafe'.
Come motivo per la creazione di zlib-rs viene citata l'intenzione di fornire una versione di zlib priva di potenziali falle causate da errori di gestione della memoria. Secondo le aziende Microsoft e Google, circa il 70% delle vulnerabilità sono causate da un uso non sicuro della memoria. Si prevede che l'utilizzo del linguaggio Rust per lo sviluppo di zlib-rs riduca il rischio di vulnerabilità causate da un uso non sicuro della memoria e elimini errori come l'accesso a memoria già liberata e l'overflow del buffer.
La libreria Zlib è ampiamente diffusa ed è utilizzata come dipendenza in molti sistemi, sebbene nel codice Zlib emergano periodicamente vulnerabilità pericolose. Ad esempio, nel 2022 è stata identificata una vulnerabilità di overflow del buffer durante il tentativo di comprimere una sequenza di caratteri appositamente preparata, che consentiva di sfruttare la vulnerabilità attraverso l'invio di dati in ingresso formattati ad hoc.
Fonte: opennet.ru
