В модула ksmbd, предоставящ вградена в ядрото на Linux реализация на файлов сървър, базиран на протокола SMB, са установени 14 уязвимости, от които четири позволяват дистанционно изпълнение на код с права на ядрото. Атаката може да бъде реализирана без удостоверяване, стига модулът ksmbd да е активиран на системата. Проблемите започват с ядрото 5.15, в което е включен модулът ksmbd. Уязвимостите са отстранени в актуализациите на ядрото 6.3.2, 6.2.15, 6.1.28 и 5.15.112. Можете да проследите поправките в дистрибуциите на следните страници: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.
Идентифицированные проблемы:
- CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 — отдалено изпълнение на код с права на ядрото поради липсата на адекватни блокировки на обекти при обработката на външни заявки, съдържащи команди SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF и SMB2_CLOSE, което води до експлоатационно състояние на състезание. Атаката може да бъде осъществена без преминаване на автентикация.
- CVE-2023-32256 — изтичане на съдържанието на области от паметта на ядрото поради състояние на състезание при обработката на командите SMB2_QUERY_INFO и SMB2_LOGOFF. Атаката може да бъде осъществена без преминаване на автентикация.
- CVE-2023-32252, CVE-2023-32248 — отдалечен отказ на обслужване поради разименуване на нулев указател при обработката на командите SMB2_LOGOFF, SMB2_TREE_CONNECT и SMB2_QUERY_INFO. Атаката може да бъде осъществена без преминаване на автентикация.
- CVE-2023-32249 — възможност за прихващане на сесия с потребител поради липсата на адекватна изолация при обработката на идентификатора на сесията в многоканален режим.
- CVE-2023-32247, CVE-2023-32255 — отказ на обслужване поради изтичане на памет при обработката на командата SMB2_SESSION_SETUP. Атаката може да бъде осъществена без преминаване на автентикация.
- CVE-2023-2593 — отказ на обслужване поради изчерпване на налична памет, причинено от грешка, водеща до непоращане на памет при обработката на нови TCP връзки. Атаката може да бъде осъществена без преминаване на автентикация.
- CVE-2023-32253 — отказ на обслужване поради възникване на взаимна блокировка при обработката на командата SMB2_SESSION_SETUP. Атаката може да бъде осъществена без преминаване на автентикация.
- CVE-2023-32251 — липса на защита от атаки за подбора на параметри за автентикация (brute force).
- CVE-2023-32246 — локален потребител на системата, който има правото да изтегли модула ksmbd, може да постигне изпълнението на своя код на ниво ядрото на Linux.
Освен това, открити са още 5 уязвимости в пакета ksmbd-tools, който включва утилити за управление и работа с ksmbd, изпълнявани в пространство на потребителя. Най-опасните уязвимости (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE все още не е назначен) позволяват на отдалечен неавтентифициран нападател да изпълнява своя код с права root. Уязвимостите са причинени от липсата на проверка на размера на получените външни данни преди копирането им в буфера в кода на услугата WKSSVC и обработчиците на опкодове LSARPC_OPNUM_LOOKUP_SID2 и SAMR_OPNUM_QUERY_USER_INFO. Още две уязвимости (ZDI-CAN-17823, ZDI-CAN-17821) могат да доведат до отдалечен отказ в обслужването без да е необходима автентикация.
Ksmbd е представен като високоэффективно и готово за използване разширение на Samba за вградени устройства, интегрируемо с инструменти и библиотеки на Samba при необходимост. Подкрепата на работата на SMB-сървър с модула ksmbd е налична в пакета Samba от версия 4.16.0. За разлика от SMB-сървър, работещ в пространство на потребителя, ksmbd е по-ефективен по отношение на производителността, консумацията на памет и интеграцията с разширените възможности на ядрото. Авторите на кода ksmbd са Намдже Джон от Samsung и Хюнчул Ли от LG, а поддръжката в ядрото се осъществява от Стив Френч от Microsoft, мейнтейнер на подсистемата CIFS/SMB2/SMB3 в ядрото на Linux и дългогодишен участник в екипа на разработчиците на Samba, който е дал значителен принос за реализирането на поддръжката на протоколите SMB/CIFS в Samba и Linux.
Допълнително можно да се отбележат две уязвимости в графичния драйвер vmwgfx, използван за реализиране на 3D ускорение в среди на VMware. Първата уязвимост (ZDI-CAN-20292) позволява на локален потребител да повиши правата си в системата. Уязвимостта е причинена от липсата на проверка на състоянието на буфера преди освобождаването му при обработка на обект vmw_buffer_object, което може да доведе до двойно извикване на функцията free. Втората уязвимост (ZDI-CAN-20110) предизвиква изтичане на съдържанието на ядрото поради грешки в организацията на заключването на обектите GEM.
Източник: opennet.ru
