Две уязвимости в ksmbd Linux позволяют получить root через SMB

Две уязвимости в ksmbd Linux позволяют получить root через SMB

Две уязвимости в ksmbd Linux позволяют получить root через SMB

Без лишней мистики: исследователь в области кибербезопасности BitsByWill подробно разобрал две критические уязвимости в ksmbd — встроенном в ядро Linux SMB-сервере. Речь о CVE-2023-52440 и CVE-2023-4130 — и самое неприятное, что они отлично склеиваются в рабочую эксплойт-цепочку.

Первая уязвимость, CVE-2023-52440, описывается как контролируемое SLUB-переполнение в функции ksmbd_decode_ntlmssp_auth_blob().

Как пишет BitsByWill, длина sess_key_len контролируется пользователем, и при определённой подаче данных можно переполнить фиксированный буфер sess_key во время вызова cifs_arc4_crypt. Проще говоря — достаточно модифицировать одну строку в ntlm-клиентской библиотеке (в примере — Impacket), чтобы сгенерировать специально подготовленное NTLM-сообщение и получить неаутентифицированное удалённое переполнение буфера с контролем размера и содержимого.

Вторая уязвимость, CVE-2023-4130, — это чтение за пределами буфера (OOB read) в smb2_set_ea(). Из-за плохой проверки расширенных атрибутов (EA) злоумышленник с правом записи на шаре может заставить ksmbd неправильно интерпретировать структуру и считать дополнительные записи. В результате соседние данные кучи попадают в xattr, откуда их можно извлечь через SMB3 queryInfo. То есть брешь позволяет вытянуть части памяти ядра и, например, сломать KASLR.

И вот где всё становится опасно: переполнение даёт запись, чтение даёт утечку. Связав CVE-2023-52440 и CVE-2023-4130, BitsByWill показал рабочий путь до реального ROP-эксплойта.

Для демонстрации потребовались учётные данные пользователя с правом записи на шару, поэтому исследователь пишет о 0-click с аутентификацией — формулировка спорная, но смысл понятен: если админ разрешил анонимную запись в шаре, шанс эксплуатации становится ещё выше.

Авторы анализа подчёркивают практические сценарии: модификация таблиц страниц для произвольного чтения/записи, вынимание секретов из соседних процессов или подготовка ROP-цепочки для исполнения кода в контексте ядра. Всё это — классика эскалации привилегий, но в данном случае — прямо через SMB-интерфейс ядра.

Патчи уже вышли, и производители/поддерживающие дистрибутивы закрывали эти баги, но реальная угроза — не только в уязвимом коде, а в конфигурациях и устаревших системах. Как обычно, напомним: открытые для записи шар-ресурсы, устаревшее ПО и несвоевременное обновление — идеальная среда для подобных атак.

Опасный троян SparkCat снова пробрался в App Store и Google Play

Троян SparkCat снова вернулся в официальные магазины приложений. Эксперты «Лаборатории Касперского» сообщили, что обнаружили новый вариант этого зловреда в App Store и Google Play спустя примерно год после того, как его уже находили и удаляли оттуда.

На этот раз вредонос маскировался под вполне обычные приложения, которые не вызывают особых подозрений с первого взгляда: корпоративные мессенджеры и сервисы доставки еды.

А сценарий у операторов всё тот же: пользователь скачивает вроде бы безобидное приложение, а внутри оказывается троян, который охотится за данными пользователя.

Главная цель SparkCat — фотографии в галерее смартфона. Зловред в определённых сценариях запрашивает доступ к снимкам, после чего начинает анализировать текст на изображениях с помощью OCR. В первую очередь его интересуют фразы для восстановления доступа к криптокошелькам. Если троян находит что-то подходящее, изображение отправляется злоумышленникам.

По данным «Лаборатории Касперского», в App Store нашли два заражённых приложения, а в Google Play — одно. О находке сообщили Apple и Google, и в Google Play вредоносное приложение уже удалили. При этом проблема не ограничивается только официальными магазинами: приложения со SparkCat также распространяются через сторонние сайты. Некоторые из них, как отмечают исследователи, даже мимикрируют под App Store, если открыть их с iPhone.

Интересно, что обновлённые версии трояна по-разному ведут себя на Android и iPhone. На Android SparkCat ищет ключевые слова на японском, корейском и китайском языках, из-за чего исследователи предполагают, что эта часть кампании в первую очередь нацелена на пользователей в Азии. А вот iOS-версия ориентируется на мнемонические фразы криптокошельков на английском языке, так что здесь география потенциальных атак уже выглядит гораздо шире.

С технической точки зрения зловред тоже стал хитрее. В «Лаборатории Касперского» говорят, что новая Android-версия использует несколько уровней обфускации, в том числе виртуализацию кода и кросс-платформенные языки программирования. Для мобильного зловреда это уже довольно серьёзный уровень подготовки, который помогает ему дольше оставаться незамеченным и проходить проверки.

Как отметил эксперт по кибербезопасности Сергей Пузан, поведение нового образца очень похоже на первую версию SparkCat, поэтому есть основания полагать, что за обеими кампаниями стоят одни и те же разработчики. Его коллега Дмитрий Калинин добавил, что SparkCat продолжает эволюционировать и всё лучше обходит защитные механизмы официальных магазинов приложений.

RSS: Новости на портале Anti-Malware.ru