Кръстете сега: Дупката за сигурност на файловата система на Linux, наречена Sequoia, може да поеме системите

Някои дни не вали, а се излива. Такъв е случаят с Linux днес. Наскоро бяха разкрити не една, а две сериозни дупки в сигурността. Първо, имаше системна грешка, която лесно можеше да унищожи системите. Сега има тази дупка в сигурността във файловата система на ядрото на Linux, която всеки потребител може да използва, за да поеме компютъра. Както казах, някои дни просто се излива.

The Изследователски екип на Qualys, който разкри грешка във файловата система, също така откри уязвимост за преобразуване на size_t-to-int тип във файловата система на ядрото на Linux. Това Дупката в сигурността на Linux е наречена Sequoia и е определено CVE-2021-33909.

Не звучи много, нали? Au contraire! Може да се използва срещу повечето дистрибуции на Linux в конфигурациите им по подразбиране. И, което е още по-лошо, всеки – повтарям, всеки – непривилегирован потребител може да го злоупотребява, за да получи root права.

Ето как работи. Всички ние използваме файлови системи всеки ден, но вие вероятно не мислите за това как работи. Кой, с изключение на разработчиците, го прави? В случая на Linux интерфейсът на файловата система е реализиран в трислойна архитектура. Там е слоят на потребителския интерфейс; изпълнението на файловата система; и драйверите на устройствата за съхранение.

В интерфейса на seq_file на ядрото на Linux се създават виртуални файлове, съдържащи последователности от записи. Всеки запис трябва да се побере в буфер seq_file. Когато остане без пространство, той просто се увеличава, като удвои размера си. Това не е проблем. Ще останете без памет много преди да можете да хакнете системата с това. Проблемът се появява, защото тази променлива size_t се предава и на функции, чийто аргумент size е подписано 32-битово цяло число, а не size_t. И това, приятелю, макар и много голям брой, може да бъде надвишено.

След това, както обяснява Bharat Jogi, старши мениджър на Qualys за уязвимости и подписи, „Ако непривилегирован локален нападател създаде, монтира и изтрие дълбока структура на директорията, чиято обща дължина на пътя надвишава 1 GB, и ако нападателят отвори (и) и прочете () s / proc / self / mountinfo, след това „чрез поредица от други маневри, в които можете да пишете извън паметта.

И с това можете да повредите данни, да сринете системата или, най-лошото от всичко, да изпълните неоторизиран код. Уви, има многобройни известни хакове, които използват превишаване на паметта, за да станат корен потребител и да вземат контрол върху компютър.

Всъщност точно това направи екипът за сигурност на Qualys. Те разработиха експлойт, който след това използваха, за да получат пълни права на root при инсталациите по подразбиране на Ubuntu 20.04, Ubuntu 20.10, Ubuntu 21.04, Debian 11 и Fedora 34. Добре, нека просто го признаем. Почти всяка дистрибуция на Linux е уязвима на този трик.

Чудесен ли е този ден, за да бъдеш лисадъм на Линус или какво?

Добрата новина е, че докато този проблем е жив и гаден във всяка система, работеща с ядрото на Linux 3.16 до 5.13.x преди 5.13.4, са налични корекции. Всъщност аз си закърпих Linux Mint десктоп за него, още преди да започна да пиша тази история. Да, толкова е лошо.

Ерик Сандийн, червена шапканай-добрият разработчик на файлова система, излезе с решение на проблема.

Грег Кроах-Хартман, поддръжник на ядрото на Linux за стабилния клон на Linux, впоследствие пусна пластир на ядрото за Sequoia на 20 юли в ядрото на Linux 5.13.4.

Ако не можете да надстроите ядрото си, пак можете да смекчите проблема, като зададете / proc / sys / kernel / unprivileged_userns_clone на 0. Това пречи на атакуващия да монтира дълга директория в потребителско пространство от имена. Въпреки това, нападателят все още може да бъде в състояние да монтира отровно дълга директория чрез Файлова система в потребителско пространство (FUSE). Също така трябва да зададете / proc / sys / kernel / unprivileged_bpf_disabled на 1. Това пречи на нападателя да зарежда eBPF програма в ядрото. Възможно е обаче да има и други начини за атака. Единственият сигурен начин да спрете тази дупка в сигурността е да актуализирате ядрото си.

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

Свързани истории:

Публикациите се превеждат автоматично с google translate

Източник: www.zdnet.com