Уразлівасці ў модулі ksmbd ядра Linux, якія дазваляюць выдалена выканаць свой код

У модулі 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_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 з'яўляюцца Namjae Jeon з кампаніі Samsung і Hyunchul Lee з LG, а суправаджэннем у складзе ядра займаецца Стыў Фрэнч (Steve French) з кампаніі 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

Дадаць каментар