В сетевой подсистеме ядра Linux выявлены две опасные уязвимости, которые позволяют локальному пользователю повысить свои привилегии в системе:- Первая уязвимость (http://openwall.com/lists/oss-security/2017/08/10/5) (CVE-2017-1000112 (https://security-tracker.debian.org/tracker/CVE-2017-1000112)) вызвана состоянием гонки (race condition) в коде управления аппаратно акселерированным разбором фрагментированных UDP-пакетов - UFO (UDP Fragmentation Offload). Суть проблемы в том, что построение пакета для
UFO осуществляется при помощи вызовов __ip_append_data() и
ip_ufo_append_data(), а данные передаются через несколько вызовов send(), между которыми атакующий может подменить тип с UFO на не-UFO и вызвать наложение требующего фрагментации хвоста на область памяти вне границ выделенного буфера. Проблема присутствует в ядре с 18 октября 2005 года и проявляется как в стеке IPv4, так и при использовании IPv6.
- Вторая уязвимость (http://openwall.com/lists/oss-security/2017/08/10/7) (CVE-2017-1000111 (https://security-tracker.debian.org/tracker/CVE-2017-1000111)) вызвана состоянием гонки при обработке сокетов AF_PACKET с опцией PACKET_RESERVE. Это третья (https://www.opennet.dev/opennews/art.shtml?num=46526) уязвимость (https://www.opennet.dev/opennews/art.shtml?num=45632) в реализации кольцевых буферов TPACKET_V3 сокетов AF_PACKET (функция packet_set_ring), которые включены по умолчанию ("CONFIG_PACKET=y") в большинстве дистрибутивов Linux. В отличие от прошлых проблем новая уязвимость проявляется при использовании опции PACKET_VERSION.
Для успешной эксплуатации обеих уязвимостей требуется наличие полномочий CAP_NET_RAW, которые обычно не предоставляются непривилегированным пользователям. С практической стороны уязвимости представляют интерес для организации атаки по выходу из изолированных контейнеров, так как проблема может быть эксплуатирована в системах с поддержкой пространств имён идентификаторов пользователей (user namespaces). В Debian и Red Hat Enterprise Linux поддержка user namespaces по умолчанию не активирована, но она включена в Ubuntu и Fedora. В Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.
Уязвимости пока устранены только в Ubuntu (https://usn.ubuntu.com/usn/usn-3386-1/), SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2017-1000112) и openSUSE (https://lists.opensuse.org/opensuse-security-announce/2017-0...). Проблемы остаются неисправленными в Fedora (https://bodhi.fedoraproject.org/updates/?releases=F26&type=s...), Debian (https://security-tracker.debian.org/tracker/CVE-2017-1000112) и RHEL/CentOS (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-1000112). Для ядра Linux предложены (http://patchwork.ozlabs.org/patch/800274/) патчи (https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.gi...), в том числе предложено полностью удалить подсистему UFO из ядра 4.14.
URL: http://openwall.com/lists/oss-security/2017/08/10/5
Новость: http://www.opennet.dev/opennews/art.shtml?num=47007