Разделы

Цифровизация Бизнес-приложения

Ошибка в системной библиотеке zlib подвергает опасности все Linux-системы и не только

Обнаружена уязвимость в системной библиотеке zlib, предоставляющей функции компрессии-декомпрессии и используемой в сотнях программ под Linux. Ошибка, обнаруженная пользователем Linux Маттиасом Клейзеном (Matthias Clasen) и инженером компании Red Hat Оуэном Тейлором (Owen Taylor), проявляется в любой Linux-программе, которая использует для декомпрессии библиотеку zlib, в том числе в ядре операционной системы.

Проблема zlib состоит в том, что она допускает повторное освобождение уже освобожденного участка памяти - так называемое "двойное освобождение". При этом могут возникнуть проблемы с выделением памяти для программы, что приводит к "зависанию" программы или компьютера.

Впервые г-н Клейзен, пользователь Linux, столкнулся с этой проблемой, когда созданное им изображение в формате open-source Portable Network Graphics (PNG) привело к аварийному закрытию графического редактора. Он сообщил об этом г-ну Тейлору в Red Hat, и тот выяснил, что проблема не в программе, а в библиотеке, которую она использует для декомпрессии. "Г-н Оуэн обнаружил, что проблема глубже, чем казалось сначала", - прокомментировал г-н Кокс. "Тогда мы поняли, что имеем дело с серьезной дырой в защите".

В худшем случае программист может записать вызывающий ошибку код в файл формата, зависящего от библиотеки zlib - например распространенный формат png. При этом просмотр страницы, содержащей подобную "мину", вызовет крах браузера Mozilla или программы для просмотра графических файлов.

Очень быстро стало ясно, что проблема достаточно серьезна, и к ней привлекли Центр реагирования на проблемы безопасности - CERT. По предварительной оценке, проблема касается не только Linux, поскольку библиотека используется широким сообществом разработчиков.

Как с помощью ad-hoc инструмента снизить расходы на внедрение аналитики
Импортонезависимость

Эту библиотеку используют многие не-Linux операционные системы, что делает уязвимыми и их. "Zlib применяется в самых разных ОС, к примеру, в BSD и даже Solaris", - отметил технический директор Red Hat Марк Кокс (Mark Cox). - "Но все же возможность использования этой уязвимости тоже зависит от операционной системы".

Включение кода непосредственно в другие программы - так называемое статическое связывание - значительно затрудняет исправление ошибки. Если в приложениях, которые просто обращаются к zlib, проблема решается установкой новой версии библиотеки, то программу, в которую включен сам код, нужно исправлять отдельно. Теперь десятки поставщиков ПО в настоящее время тестируют свои продукты на предмет наличия уязвимости.

На сегодняшний день не известно о примерах использования уязвимости, и различные поставщики дистрибутивов Linux уже предлагают обновленные версии библиотеки. Рекомендация CERT по данной проблеме располагается здесь.