Няколко уязвимости, открити в ядрото на Linux

Наскоро се появи новината, че са открити няколко уязвимости, класифицирани като опасни в ядрото на Linux и които позволяват на локален потребител да повиши привилегиите си в системата.

Първата от уязвимостите е CVE-2022 0995- и е присъства в подсистемата за проследяване на събития „watch_queue“ и това кара данните да бъдат записани в област от паметта на ядрото извън разпределения буфер. Атаката може да бъде извършена от всеки потребител без привилегии и техният код да бъде изпълнен с привилегии на ядрото.

Уязвимостта присъства във функцията watch_queue_set_size() и е свързана с опит за изчистване на всички указатели от списъка, дори ако не им е разпределена памет. Проблемът се проявява при изграждане на ядрото с опцията "CONFIG_WATCH_QUEUE=y", която се използва от повечето дистрибуции на Linux.

Споменава се, че уязвимостта беше решено в добавена промяна към ядрото на 11 март.

Втората разкрита уязвимост е CVE-2022 27666- какво е присъства в модулите на ядрото esp4 и esp6 които внедряват трансформации за Encapsulating Security Payload (ESP) за IPsec, които се използват при използване както на IPv4, така и на IPv6.

Уязвимост позволява на локален потребител с нормални привилегии да презаписва обекти в паметта на ядрото и да повишава техните привилегии в системата. Проблемът се дължи на несъответствие между размера на разпределената памет и реално получените данни, тъй като максималният размер на съобщението може да надвиши максималния размер на разпределената памет за структурата skb_page_frag_refill.

Споменава се, че уязвимостта беше коригирана в ядрото на 7 март (фиксирано в 5.17, 5.16.15 и др.), плюс е публикуван работещ прототип от експлойт, който позволява на нормален потребител да получи root достъп на Ubuntu Desktop 21.10 в настройките по подразбиране на GitHub.

Посочено е, че с малки промени, експлойтът ще работи и на Fedora и Debian. Трябва да се отбележи, че експлойтът първоначално беше подготвен за състезанието pwn2own 2022, но свързаната грешка беше идентифицирана и коригирана от разработчиците на ядрото, така че беше решено да се разкрият подробностите за уязвимостта.

Други уязвимости, които бяха разкрити, са CVE-2022 1015- y CVE-2022 1016- в подсистемата netfilter в модула nf_tables който захранва филтъра за пакети nftables. Изследователят, който идентифицира проблемите, обяви подготовката на работещи експлойти за двете уязвимости, които се планира да бъдат пуснати няколко дни след като дистрибуциите пуснат актуализации на пакета на ядрото.

първият проблем позволява на непривилегирован локален потребител да постигне запис извън границите в стека. Възниква препълване при обработката на добре оформени nftables изрази, които се обработват по време на фазата на валидиране на индекси, предоставени от потребител, който има достъп до правилата на nftables.

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

Проблемът може да се използва за изпълнение на код на ниво ядро, но успешната атака изисква достъп до nftables.

Те могат да бъдат получени в отделно мрежово пространство от имена (мрежови пространства от имена) с права CLONE_NEWUSER или CLONE_NEWNET (например, ако можете да стартирате изолиран контейнер). Уязвимостта е тясно свързана и с оптимизациите, използвани от компилатора, които например се активират при компилиране в режим "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". Експлоатацията на уязвимостта е възможна от ядрото на Linux 5.12.

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

Уязвимостите бяха отстранени в наскоро пуснатите коригиращи актуализации на ядрото.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.