Доступны внеплановые выпуски стандартной Си-библиотеки (libc) Musl 1.0.3 и 1.1.2, в которых устранена критическая уязвимость (CVE-2014-3483), позволяющая организовать выполнение кода при обработке ответа от DNS-сервера. Уязвимость вызвана ошибкой в коде разбора DNS-запросов. Проблема выявлена разработчиками Musl в процессе переработки связанных с резолвером внутренних функций.
Проблема присутствует начиная с выпуска Musl 0.9.13 и проявляется в приложениях, связанных с musl libc и осуществляющих DNS-запросы через штатные вызовы getaddrinfo, getnameinfo, gethostbyname, gethostbyaddr и т.п. Эксплуатация уязвимости возможна только в конфигурациях, в которых в числе DNS-серверов, используемых в качестве резолверов и прописанных в resolv.conf, присутствуют подконтрольные атакующему DNS-серверы. Эксплуатация также возможна, если атакующий имеет возможность вклиниться в трафик и осуществить подстановку DNS-ответов по протоколу UDP. В качестве одного из обходных методов защиты называется использование размещённого на том же компьютере локального резолвера.
Из дистрибутивов, в которых используется Musl, можно отметить Alpine Linux, OSv, Sabotage, LightCube OS, starchlinux, morpheus и Snowflake. Библиотека позиционируется, как универсальная реализация libc, подходящая для применения как на стационарных ПК и серверах, так и на мобильных системах. Musl сочетает полноценную поддержку стандартов (C99, POSIX 2008, частично C11 и Linux-расширения), свойственную для полновесных библиотек, таких как Glibc (GNU C library), с небольшим размером, низким потреблением ресурсов и высокой производительностью, свойственными специализированным вариантам libc для встраиваемых систем, таких как uClibc, dietlibc и Android Bionic.
|