В ядрото на Linux са открити експлоатируеми уязвимости в nf_tables, watch_queue и IPsec

В ядрото на Linux бяха открити няколко опасни уязвимости, които позволяват на локален потребител да повиши своите привилегии в системата. За всички разглеждани проблеми са подготвени работещи прототипи на експлоити.

  • Уязвимост (CVE-2022-0995) в подсистемата за проследяване на събития watch_queue, водеща до запис на данни в области от паметта на ядрото извън заделения буфер. Атаката може да бъде извършена от всеки непривилегирован потребител и да доведе до изпълнение на собствен код с права на ядрото. Уязвимостта присъства в функцията watch_queue_set_size() и е свързана с опита за изчистване на всички указатели в списъка, дори когато за тях не е била заделена памет. Проблемът се проявява при компилация на ядрото с опция „CONFIG_WATCH_QUEUE=y“, която се използва в повечето дистрибуции на Linux.

    Уязвимостта е отстранена с промените, добавени в ядрото на 11 март. Обновленията на пакетите в дистрибуциите могат да бъдат следени на тези страници: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Прототипът на експлоита вече е публично достъпен и позволява получаване на root-достъп при изпълнение в Ubuntu 21.10 с ядро 5.13.0-37.

    В ядрото на Linux са открити експлоатируеми уязвимости в nf_tables, watch_queue и IPsec
  • Уязвимост (CVE-2022-27666) в модулите на ядрото esp4 и esp6 с реализация на ESP-преобразования (Encapsulating Security Payload) за IPsec, използвани при работа с IPv4 и IPv6. Уязвимостта позволява на локален потребител с обикновени привилегии да презапише обекти в паметта на ядрото и да повиши своите привилегии в системата. Проблемът е причинен от липсата на проверка на заделения размер на паметта и фактически получените данни, при което максималният размер на съобщението може да надвишава максималния размер на паметта, заделен за структурата skb_page_frag_refill.

    Уязвимостта е отстранена в ядрото на 7 март (поправена в 5.17, 5.16.15 и т.н.). Обновленията на пакетите в дистрибуциите могат да бъдат следени на тези страници: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Работещият прототип на експлоита, позволяващ на обикновен потребител да получи root-достъп в Ubuntu Desktop 21.10 с настройките по подразбиране, вече е публикуван в GitHub. Утвърдено е, че с незначителни промени експлоитът също ще бъде работоспособен в Fedora и Debian. Забележително е, че експлоитът първоначално е бил подготвен за състезанията pwn2own 2022, но разработчиците на ядрото откриха и отстраниха свързаната с него грешка, поради което беше взето решение да се разкрият детайлите на уязвимостта.

  • Две уязвимости (CVE-2022-1015, CVE-2022-1016) в подсистемата netfilter в модула nf_tables, който осигурява работата на пакетния филтър nftables. Първият проблем позволява на локален непривилегирован потребител да запише извън отреденото пространство в стека. Препълването възниква при обработката на определени по начин оформени изрази nftables, обработвани на етапа на проверка на индексите, зададени от потребителя, който има достъп до правилата на nftables.

    Уязвимостта е причинена от факта, че разработчиците предполагат, че стойността на „enum nft_registers reg“ е един байт, докато при активиране на определени оптимизации компилаторът в съответствие с спецификацията C89 може да използва 32-битова стойност. Поради тази особеност, размерът, използван при проверката и заделянето на памет, не съответства на действителния размер на данните в структурата, което води до припокриване на опашката на структурата с указатели в стека.

    Проблемът може да бъде експлоатиран за изпълнение на собствен код на ниво ядро, но за успешна атака е необходим достъп до nftables, който може да бъде получен в отделно мрежово пространство от имена (network namespaces) при наличие на права CLONE_NEWUSER или CLONE_NEWNET (например, при възможност за стартиране на изолиран контейнер). Уязвимостта също така е тясно свързана с прилаганите от компилатора оптимизации, които се активират, например, при компилиране в режим „CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y“. Експлоатацията на уязвимостта е възможна от ядрото на Linux 5.12.

    Втората уязвимост в netfilter е причинена от обращение към вече освободено пространство от паметта (use-after-free) в обработчика nft_do_chain и може да доведе до изтичане на неинициализирани области от паметта на ядрото, които могат да бъдат прочетени чрез манипулации с изрази nftables и да се използват, например, за определяне на адреси на указатели при разработването на експлоити за други уязвимости. Експлоатацията на уязвимостта е възможна от ядрото на Linux 5.13.

    Уязвимостите бяха отстранени в днешните корективни обновления на ядрото 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 и 4.9.309. Можете да следите публикациите за обновления на пакетите в дистрибуциите на следните страници: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Изследователят, който е идентифицирал проблемите, заяви, че подготвя работещи експлоити за двете уязвимости, които ще бъдат публикувани след няколко дни, след като дистрибуциите издадат обновления на пакетите с ядрото.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster