В ядрах Linux начиная с выпуска 3.3 и заканчивая 3.8 выявлена локальная уязвимость (CVE-2013-1763), которая может привести к выполнению кода с правами ядра. Уязвимость вызвана ошибкой в реализации подсистемы sock_diag, в которой не осуществлялась должная проверка выхода за границы массива sock_diag_handlers, имеющего фиксированный размер. В итоге непривилегированный локальный пользователь мог через отправку специально оформленного netlink-сообщения переписать своими данными область за пределами массива sock_diag_handlers и организовать запуск своего кода в пространстве ядра.

Сообщается, что проблеме подвержены ядра из состава Fedora 17/18 и Ubuntu 12.10 (+ ядро 3.5, подготовленное для Ubuntu 12.04.2). Концептуальный прототип эксплоита можно найти здесь, здесь (для Fedora Linux) и здесь (для ArchLinux). Примечательно, что опасный код присутствовал и в ядрах младше версии 3.3, но уязвимость проявилась только для ядер начиная с версии 3.3. При этом использование ограничения mmap_min_addr помогает избежать лишь некоторых техник эксплуатации и не исключает проведение атаки. Имеются сведения, что 0-day эксплоит для указанной уязвимости был подготовлен ещё в июле прошлого года, но он не распространялся публично и был ограничен атакой на Fedora 17 с ядрами 3.4.4-3.fc17.i686, 3.5.2-3.fc17.i686 и 3.5.5-2.fc17.i686.

Исправление уязвимости пока доступно в виде патча. Кроме того, исправления уже несколько дней включены в состав набора патчей от проекта grsecurity (grsecurity-2.9.1-3.8.0-201302231124.patch). Пакеты с устранением уязвимости пока недоступны, проследить за появлением обновлений для популярных дистрибутивов можно на данных страницах: Ubuntu, Gentoo, openSUSE, FedoraRHEL, SLES и Debian используются ядра не старше 3.2, в которых не выполнялось портирование кода sock_diag).

Источник: http://www.opennet.ru/opennews/art.shtml?num=36220