Организация ISRG (Група за изследване на интернет сигурността), която е основател на проекта Let’s Encrypt и насърчава развитието на технологии за увеличаване на сигурността на интернет, представи проекта zlib-rs за създаване на защитен аналог на библиотеката за компресия на данни zlib. Кодът на zlib-rs е написан на езика Rust и се разпространява под лицензия Zlib. Разработката се извършва с оглед на проекта zlib-ng, който развива високопроизводителен вариант на zlib. Проектът е разработил две библиотеки: zlib-rs с реализация на API zlib, която не използва блокове с непроверен код; libz-rs-sys — надстройка с поддръжка на C API, съдържаща код в режим на
Като причина за създаването на zlib-rs се посочва намерението да се предостави вариант на zlib, освободен от потенциални уязвимости, предизвикани от грешки в работата с паметта. Според данни от компаниите Microsoft и Google около 70% от уязвимостите са причинени от небезопасна работа с паметта. Предполага се, че използването на езика Rust за разработката на zlib-rs ще намали риска от появата на уязвимости, причинени от небезопасната работа с паметта, и ще изключи възможността за появата на такива грешки, като достъп до област от паметта след освобождаването ѝ и излизане извън границите на буфера.
Библиотеката Zlib е широко разпространена и се използва като зависимост в много системи, въпреки че в кода на Zlib периодично се появяват опасни уязвимости. Например, през 2022 г. в zlib бе открито преливане на буфер при опит за компресиране на специално подготвена последователност от символи, което позволяваше експлоатацията на уязвимостта чрез предаване на специално оформени входящи данни.
Източник: opennet.ru
