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

уязвимост

Ако бъдат използвани, тези пропуски могат да позволят на нападателите да получат неоторизиран достъп до чувствителна информация или като цяло да причинят проблеми

Преди няколко дни новината гръмна това Бяха открити две уязвимости в подсистемите на линукс ядро, Netfilter и io_uring, които позволяват на локален потребител да повиши своите привилегии в системата.

Първият е уязвимостта. (CVE-2023-32233), който е открит в подсистемата Netfilter и причинени от достъп след освобождаване на паметта в модула nf_tables, който осигурява работата на филтъра за пакети nftables.

Тази грешка е, защото netfilter nf_tables позволява актуализиране на конфигурацията си за пакетни заявки, които се групират заедно множество основни операции в атомарни транзакции.

Проблемът е възпроизведен в различни версии на ядрото на Linux, включително Linux 6.3.1 (текуща стабилна) и уязвимостта може да се използва чрез изпращане на специално изработени заявки за актуализиране на конфигурацията на nftables. Споменава се, че атаката изисква достъп до nftables, които могат да бъдат получени в отделно мрежово пространство от имена, ако имате права CLONE_NEWUSER, CLONE_NEWNS или CLONE_NEWNET (например, ако можете да стартирате изолиран контейнер).

За тази грешка изследователят, който идентифицира проблема, обеща да отложи с една седмица публикуването на подробна информация и пример за работещ експлойт, който предоставя root shell.

В конкретен сценарий невалидна партидна заявка може да съдържа операция, която имплицитно изтрива съществуващ анонимен nft набор, последвана от друга операция, която се опитва да действа върху същия анонимен nft набор, след като бъде изтрит. В горния сценарий пример за горната операция е изтриването на съществуващо nft правило, което използва nft анонимен набор. И пример за последната операция е опит за премахване на елемент от този nft анонимен масив, след като масивът е алтернативно премахнат, последната операция може дори да се опита изрично да премахне този nft анонимен масив отново. 

Както вече споменахме в началото, това беше преди няколко дни и експлойтът и информацията вече бяха разкрити. Експлойтът, както и неговите подробности могат да бъдат намерени на следната връзка.

Втората открита грешка, беше уязвимостта (CVE-2023-2598) в внедряването на асинхронен I/O интерфейс io_uring включен в ядрото на Linux от версия 5.1.

Проблемът е причинен от грешка във функцията io_sqe_buffer_register, която позволява достъп до физическа памет извън границите на статично разпределен буфер. Проблемът се появява само в клона 6.3 и ще бъде коригиран в следващата актуализация 6.3.2.

Споменава се, че идеята зад оригиналния комит е, че вместо да разделяте големи страници, които са буферирани в отделни bvec записи, можете да имате един bvec запис за всички буферирани части на страницата. По-конкретно, ако всички страници в картата на буфера използват структурата на първата страница и дължината на буфера в един bvec запис, вместо да картографират всяка страница поотделно.

Така че bvec ще се простира далеч отвъд единствената страница, която всъщност е позволено да докосне. По-късно IORING_OP_READ_FIXED и IORING_OP_WRITE_FIXED ни позволяват да четем и записваме в буфера (т.е. паметта, към която сочи bvec) по желание. Това позволява достъп за четене/запис до физическата памет зад единствената страница, която всъщност имаме.

Публикацията за уязвимости споменава стъпките за възпроизвеждане на грешки:

1. Създайте memfd
2. Грешка на една страница в този файлов дескриптор
3. Използвайте MAP_FIXED, за да картографирате тази страница многократно към последователни местоположения
4. Регистрирайте целия регион, който току-що сте попълнили с тази страница като
фиксиран буфер с IORING_REGISTER_BUFFERS
5. Използвайте IORING_OP_WRITE_FIXED, за да запишете буфера в някой друг файл
(OOB четене) или IORING_OP_READ_FIXED за четене на данни в буфера (
OOB пише).

Накрая си струва да споменем това вече е на разположение  работещ експлойт прототип (CVE-2023-2598) за тестване, което ви позволява да изпълнявате код с привилегии на ядрото.

Уязвимост (CVE-2023-32233) Беше коригирано в актуализацията 6.4-rc и можете да проследите корекцията на уязвимостта в дистрибуции на страниците: DebianUbuntuGentooRHELFedoraSUSE/openSUSEАрка.


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

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

*

*

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