В Сеть выложили технические детали опасной дыры в ядре Linux — StackRot

В Сеть выложили технические детали опасной дыры в ядре Linux — StackRot

В Сеть выложили технические детали опасной дыры в ядре Linux — StackRot

В Сети появились технические подробности серьёзной уязвимости, затрагивающей множество версий ядра Linux. Брешь получила имя StackRot, её можно использовать для повышения прав в атакованной системе.

Специалисты отмечают, что эксплуатация бага, получившего идентификатор CVE-2023-3269 потребует определённых усилий. Патч доступен с 1 июля, а полностью рабочий демонстрационный эксплойт обещают к концу месяца.

За обнаружение уязвимости благодарят исследователя Руихана Ли. Как объяснил эксперт, проблема затрагивает подсистему управления памятью ядра. Этот компонент, как известно, отвечает за имплементацию виртуальной памяти, её выделение для нужд ядра и программ уровня пользователя.

StackRot актуальна для всех конфигураций ядра в версиях Linux с 6.1 по 6.4. Исследователь сообщил о баге 15 июня, однако подготовка патча заняла почти две недели из-за сложности проблемы. Говорят, что даже сам Линус Торвальдс возглавил работу.

«28 июня патч добавили в дерево Линуса. Сам Линус предоставил обстоятельное сообщение, чтобы прояснить заплатки с технической точки зрения. Далее патчи были портированы на стабильные версии ядра (6.1.37, 6.3.11 и 6.4.1). Таким образом, “StackRot“ удалось полостью устранить первого июля», — отмечает Ли.

В целом причину возникновения этого бага эксперты видят в методе обработки расширения стека со стороны ядра Linux. Само «слабое звено» располагается в «maple tree» — новой структуре данных для VMA, которая была представлена в ядре Linux версии 6.1.

Фактически StackRot можно назвать классической UAF (use-after-free — некорректное использование динамической памяти), возникающей из-за метода обработки расширения стека.

 

Руихан Ли подчеркнул, что грамотная эксплуатация может стать серьёзной задачей, а CVE-2023-3269, в сущности, будет первой теоретически эксплуатируемой дырой класса use-after-free-by-RCU (UAFBR). Сам proof-of-concept (PoC) эксперт обещает выложить к концу июля.

Linux 7.1 может наконец сделать NTFS по-настоящему родной файловой системой

В Linux 7.1 намечается заметное обновление, которое особенно оценят те, кто живёт на два мира — Linux и Windows. В ядро уже влит новый драйвер NTFS, и это одна из самых важных, хотя и не самых громких, перемен в файловой подсистеме за последние годы. Сам Линус Торвальдс назвал это воскрешением NTFS.

Вся соль в том, что Linux наконец получает более современную встроенную поддержку NTFS — файловой системы, на которой по умолчанию живёт Windows.

До сих пор с ней всё было либо терпимо, либо просто неудобно: старый драйвер в ядре долгое время умел в основном читать NTFS-разделы, NTFS-3G работал через FUSE и проигрывал по скорости, а более новый NTFS3, хотя и был быстрее, за последние годы успел заработать репутацию решения без слишком активного развития.

Новый драйвер делает ставку не просто на поддержку NTFS, а на более нативную работу внутри самого ядра Linux. В документации ядра прямо сказано, что он обеспечивает полноценную поддержку чтения и записи, рассчитан на высокую производительность и использует современные механизмы вроде iomap и folio.

За разработкой стоит Намджэ Чон — тот же девелопер, который раньше занимался драйвером exFAT для Linux. По данным LKML, он работал над этим направлением около четырёх лет.

На бумаге всё выглядит очень бодро. В обсуждении патчей и публикациях о слиянии упоминается, что однопоточная запись стала быстрее примерно на 3–5%, многопоточная — на 35–110%, а монтирование 4-терабайтного диска ускорилось примерно в четыре раза по сравнению с NTFS3. Кроме того, новый драйвер уже проходит больше тестов xfstests, чем NTFS3: 326 против 273.

Правда, без оговорок тут не обошлось. Это всё-таки новый код, так что в первых релизах вполне возможны шероховатости, особенно в каких-то менее популярных особенностях NTFS. Да и сама NTFS остаётся файловой системой из мира Windows, так что полностью вести себя как ext4 или XFS под Linux она всё равно не начнёт. Но сам вектор выглядит приятным: в ядре Linux эту тему наконец решили делать всерьёз, а не по остаточному принципу.

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