Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ksmbd ядра Linux, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ksmbd, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΌ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π² ядро Linux Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SMB, выявлСна критичСская ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ выполнСния своСго ΠΊΠΎΠ΄Π° с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ядра. Атака ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π±Π΅Π· Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, достаточно Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° систСмС Π±Ρ‹Π» Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 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.

ΠšΡ€ΠΎΠΌΠ΅ упомянутой уязвимости Π² ksmbd Ρ‚Π°ΠΊΠΆΠ΅ исправлСны 4 ΠΌΠ΅Π½Π΅Π΅ опасныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • 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