Две уязвимости в 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-интерфейс ядра.

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

Энтузиаст собрал «идеальную» PlayStation, объединив две версии консоли

Пока одни ностальгируют по первой PlayStation, другие берут паяльник и пытаются сделать её лучше, чем она когда-либо была. Именно этим занялся моддер с ником thedrew (он же Secret Hobbyist), который решил собрать «идеальную» PS1, объединив сразу две версии консоли.

Напомним, оригинальная PlayStation вышла в 1994 году и задала тон всей индустрии 3D-игр.

А спустя несколько лет появилась компактная PS One — более энергоэффективная и холодная, но с упрощённой аудиосистемой. В итоге у каждой версии были свои плюсы и минусы. И вот теперь энтузиаст решил взять от них всё лучшее. 

В новой гибридной консоли он использовал процессор, графику и память от PS One за их энергоэффективность. А вот аудиочип, контроллер CD-привода и BIOS позаимствовал у оригинальной PS1, чтобы сохранить качество звука и совместимость.

 

Всё это надо было не просто «скрутить проводами», а аккуратно пересобрать на собственной плате. Моддер выпаял нужные чипы с обеих консолей и перенёс их на кастомный PCB, фактически создав новую материнскую плату с нуля.

 

Но на этом он не остановился. В проект сразу встроили ещё два популярных мода. Первый — XStation, который позволяет запускать игры с microSD вместо дисков. Второй — HDMI-мод с FPGA, подключающийся напрямую к GPU и выдающий картинку вплоть до 1080p (с апскейлом с 480p). Причём даже с эффектом сканлайнов, как на старых CRT-телевизорах.

В итоге получилась компактная и очень экономичная система: вся плата потребляет меньше 2 ватт и работает от 3 вольт. По сути, это уже задел под портативную версию консоли.

 

Правда, проект пока ещё не завершён. Корпуса нет, питание подаётся «напрямую» через зажимы, а некоторые элементы вроде разъёма для карты памяти пока висят на проводах. Но главное — консоль уже работает, а игры на ней запускаются без проблем.

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