У разі використання цих недоліків зловмисники можуть отримати несанкціонований доступ до конфіденційної інформації або загалом спричинити проблеми
Нещодавно була оприлюднена інформація про те виявлено вразливість ядра Linux з оцінкою CVSS 10 на сервері SMB, надаючи неавтентифікованому користувачеві можливість віддалено виконувати код.
Виявлена помилка дозволяє віддаленим зловмисникам виконувати довільний код на уражених інсталяціях. Для використання цієї вразливості не потрібна автентифікація, але вразливими є лише системи з увімкненим ksmbd.
Конкретний недолік існує в обробці команд SMB2_TREE_DISCONNECT. Проблема виникає через відсутність перевірки існування об’єкта перед виконанням операцій над цим об’єктом. Зловмисник може використати цю вразливість для виконання коду в контексті ядра.
ДЕТАЛІ ПРО ВРАЗЛИВОСТІ
Ця вразливість дозволяє віддаленим зловмисникам виконувати довільний код на уражених інсталяціях ядра Linux. Для використання цієї вразливості не потрібна автентифікація, але вразливими є лише системи з увімкненим ksmbd.Конкретний недолік існує в обробці команд SMB2_TREE_DISCONNECT. Проблема спричинена відсутністю перевірки існування об’єкта перед виконанням операцій над об’єктом. Зловмисник може використати цю вразливість для виконання коду в контексті ядра.
Згадується, що залежно від типу запиту SMB кожен новий потік може прийняти рішення про передачу команд у простір користувача (ksmbd.mountd); наразі команди DCE/RPC призначені для обробки простором користувача. Щоб краще використовувати ядро Linux, було вирішено розглядати команди як робочі елементи та виконувати їх у обробниках потоків ksmbd -io kworker.
Це дозволяє менеджерам мультиплексувати, оскільки ядро піклується про запуск додаткових робочих потоків, якщо навантаження зростає, і навпаки, якщо навантаження зменшується, воно вбиває додаткові робочі потоки.
Коли серверний демон запускається, він запускає потік розгалуження (ksmbd/назва інтерфейсу) під час завантаження та відкриває виділений порт 445 для прослуховування запитів SMB. Щоразу, коли нові клієнти роблять запит, потік forker приймає з’єднання клієнта та створює новий потік для виділеного каналу зв’язку між клієнтом і сервером. Це дозволяє паралельно обробляти запити (команди) SMB від клієнтів і дозволяє новим клієнтам встановлювати нові з’єднання.
ksmbd підняв червоні прапорці серед деяких користувачів які обговорювали своє злиття минулого року. SerNet, німецька комп’ютерна компанія, яка пропонує власну версію Samba, заявила в блозі, що ksmbd був чудовим, але здавався трохи незрілим. Крім того, команда SerNet Samba+ заявила в дописі в блозі, що додавання SMB-сервера до простору ядра може бути не вартим ризику «вичавити останній біт продуктивності з доступних речей».
На щастя, якщо ви не використовуєте «експериментальний» модуль ksmbd від Samsung, як описав дослідник безпеки Шир Тамарі в Twitter, і зберегли Samba, ви в повній безпеці. «ksmbd новий; більшість користувачів все ще використовують Samba і це не стосується. Загалом, якщо ви не використовуєте SMB-сервери з ksmbd, насолоджуйтесь вихідними», – написала Тамарі у Twitter.
За даними Zero-Day Initiative, який виявив уразливість ksmbd, у обробці команд SMB2_TREE_DISCONNECT існує помилка use-after-free. Відповідно до ZDI, проблема спричинена тим, що ksmbd не перевіряє існування об’єктів перед виконанням над ними операцій.
Для тих, хто використовує ksmbd, окрім переходу на Samba, є обхідний шлях: оновити ядро Linux до версії 5.15.61, випущеної в серпні, або пізніше. Це оновлення ядра також усуває кілька інших проблем у ksmbd: читання поза межами для SMB2_TREE_CONNECT, яке, згідно з приміткою про виправлення, може дозволити неприпустимим запитам не надсилати повідомлення, а також витік пам’яті в smb2_handle_negotiate, що спричиняє неправильне вільне. пам'ять.
нарешті, якщо ти є цікаво дізнатися про це більше, Ви можете перевірити деталі У наступному посиланні.