Уязвимост в модула ksmbd на ядрото на Linux, която ви позволява дистанционно да изпълните своя код

Беше идентифицирана критична уязвимост в модула ksmbd, който включва реализация на файлов сървър, базиран на протокола SMB, вграден в ядрото на Linux, което ви позволява да изпълнявате отдалечено своя код с права на ядрото. Атаката може да се извърши без удостоверяване, достатъчно е модулът ksmbd да е активиран в системата. Проблемът се появява от ядрото 5.15, пуснато през ноември 2021 г., и беше тихо отстранен в актуализации 5.15.61, 5.18.18 и 5.19.2, издадени през август 2022 г. Тъй като CVE идентификаторът все още не е присвоен на проблема, няма точна информация за това как да се коригира проблемът в дистрибуциите.

Подробности за използването на уязвимостта все още не са разкрити; известно е само, че уязвимостта е причинена от достъп до вече освободена област от паметта (Use-After-Free) поради липсата на проверка за съществуването на обект преди извършване на операции върху него. Проблемът се дължи на факта, че функцията smb2_tree_disconnect() освободи паметта, разпределена за структурата ksmbd_tree_connect, но след това все още имаше указател, използван при обработката на определени външни заявки, съдържащи команди SMB2_TREE_DISCONNECT.

В допълнение към споменатата уязвимост, 4 по-малко опасни проблема също са коригирани в ksmbd:

  • ZDI-22-1688 - отдалечено изпълнение на код с права на ядрото поради това, че кодът за обработка на атрибутите на файла не проверява действителния размер на външните данни, преди да ги копира в специален буфер. Уязвимостта е смекчена от факта, че атаката може да бъде извършена само от удостоверен потребител.
  • ZDI-22-1691 - отдалечено изтичане на информация от паметта на ядрото поради неправилна проверка на входните параметри в манипулатора на команда SMB2_WRITE (атаката може да бъде извършена само от удостоверен потребител).
  • ZDI-22-1687 - отдалечен отказ на услуга, причинен от изчерпване на наличната памет в системата поради неправилно освобождаване на ресурси в манипулатора на команда SMB2_NEGOTIATE (атаката може да се извърши без удостоверяване).
  • ZDI-22-1689 - Отдалечен срив на ядрото поради липса на правилно валидиране на параметрите на командата SMB2_TREE_CONNECT, което води до четене от област извън буфера (атаката може да бъде извършена само от удостоверен потребител).

Поддръжката за стартиране на SMB сървър с помощта на модула ksmbd присъства в пакета Samba от версия 4.16.0. За разлика от SMB сървър с потребителско пространство, ksmbd е по-ефективен по отношение на производителност, потребление на памет и интеграция с разширени функции на ядрото. Ksmbd се рекламира като високопроизводително, готово за вграждане разширение на Samba, което се интегрира с инструменти и библиотеки на Samba, ако е необходимо. Кодът ksmbd е написан от Namjae Jeon от Samsung и Hyunchul Lee от LG, а ядрото се поддържа от Steve French от Microsoft, поддържащ подсистемите CIFS/SMB2/SMB3 в ядрото на Linux и дългогодишен член на екипа за разработка на Samba , който допринесе значително за внедряването на поддръжка за протоколите SMB/CIFS в Samba и Linux.

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

Добавяне на нов коментар