В множество Linux дистрибуции е открита критична уязвимост: 732 байта код дават root-права на всеки

Най-четени

Емил Василев
Емил Василев
Емил Василев редовно превежда сложни научни теми на достъпен език — от въпроси като „Какво е имало преди Големия взрив?" до практическото приложение на биотехнологиите в лечението на болести. Тази комбинация от технологична и научна журналистика го прави един от най-разностранните автори в екипа на Kaldata.

Разработчиците на Xint Code – средство за сигурност, базирано на алгоритми с изкуствен интелект откриха в ядрото на Linux и съответно, в повечето популярни дистрибуции опасна уязвимост, която получи името Copy Fail и обозначението CVE-2026-31431.

Използвайки тази уязвимост, всеки потребител без специални привилегии може да получи права на администратор (root) практически на всеки сървър или компютър, работещ под Linux. За това е достатъчен код с размер само 732 байта на Python.

Уязвимостта Copy Fail е свързана с начина, по който Linux работи с файловете – операционната система не чете данните от твърдия диск или SSD при всяко достъпване до файл, а записва съдържанието му в специална област на оперативната памет – кеш на страниците (Page Cache), който се разделя на фрагменти (страници) с размер 4 килобайта. Този кеш е общ за цялата система – дори когато става въпрос за процеси вътре в Docker контейнери на сървърите, достъпът се осъществява към един и същ кеш. За експлоатиране на уязвимостта се използва програмата su (Switch User или Substitute User), която позволява на обикновен потребител да получи права на администратор, като въведе неговата парола, поради което тя е апетитна мишена за хакерите.

Скриптът, който изисква наличието на Python 3.10 или по-нова версия в системата и е с размер едва 732 байта позволява да се променят само 4 байта в програмата su или в която и да е друга програма, като при това той не се обръща към съответния файл на диска, а към нейна копия в кеша на оперативната памет и нейното изпълнение се извършва с права на root.

Това се оказа възможно благодарение на три особености на Linux: интерфейса AF_ALG, който позволява достъп до криптографски алгоритми в ядрото на Linux, функцията splice(), която позволява да се осъществи достъп до ядрото на ОС от кеша на страниците на всеки файл, ако потребителят има право поне да чете този файл, както и алгоритъма authencesn в системата за защитени мрежови връзки IPsec, който по време на работа използва част от отредената му памет като „чернова“ и записва точно споменатите четири байта директно в страниците на кеша su. Самият файл на тази програма на диска остава незасегнат, поради което средствата за защита не забелязват тази промяна.

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

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

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

Абонирай се
Извести ме за
guest

0 Коментара
стари
нови оценка

Нови ревюта

Подобни новини