May. 8th, 2026

mdmx: (Default)
https://github.com/V4bel/dirtyfrag

Анализ уязвимости Dirty Frag, представленной в репозитории V4bel/dirtyfrag, указывает на критический недостаток в механизмах обработки сетевых пакетов ядра Linux, приводящий к локальному повышению привилегий (LPE).

### Технический контекст

Уязвимость затрагивает подсистемы **IPsec (ESP)** и **RxRPC**. Проблема локализована в путях «быстрого дешифрования» (in-place decryption fast paths) для модулей esp4, esp6 и rxrpc. Корень проблемы заключается в некорректной обработке фрагментированных буферов сокетов (sk_buff fragments), когда они ссылаются на страницы памяти, не принадлежащие ядру монопольно.

### Механизм эксплуатации

1. **Разделение страниц (Page Sharing):** При использовании системных вызовов splice(2), sendfile(2) или флага MSG_SPLICE_PAGES, страницы из кэша страниц (Page Cache) или каналов (pipes) могут быть привязаны к сетевому сокету без копирования данных (zero-copy).

2. **In-place Decryption:** Когда ядро принимает зашифрованный пакет (например, через протокол ESP в IPsec), оно выполняет дешифрование непосредственно в те же страницы памяти, которые находятся в буфере сокета.

3. **Нарушение изоляции:** Уязвимость возникает из-за того, что ядро не проверяет, является ли целевая страница «приватной» и доступной только для записи ядром. Если атакующий привязывает к сокету страницу, отображающую критически важный системный файл (например, /etc/passwd или бинарный файл /usr/bin/su), подсистема дешифрования перезапишет содержимое этой страницы в Page Cache результатами дешифрования.

### Последствия

* **Локальное повышение привилегий:** Непривилегированный пользователь может модифицировать содержимое системных файлов в оперативной памяти. Это позволяет подменить учетные данные или внедрить код в доверенные исполняемые файлы без изменения их состояния на физическом диске.

* **Сходство с Dirty Pipe / Copy Fail:** Методология эксплуатации напоминает уязвимость Dirty Pipe (CVE-2022-0847), однако в данном случае вектором записи выступает не логика работы с пайпами, а сетевой стек дешифрования.

### Сферы воздействия и исправление

Уязвимости подвержены ядра Linux, поддерживающие современные механизмы zero-copy и MSG_SPLICE_PAGES. В качестве временных мер (Workaround) до применения патча рекомендуется:
1. Блокировка загрузки уязвимых модулей: esp4, esp6, rxrpc.
2. Очистка Page Cache после возможной атаки командой echo 3 > /proc/sys/vm/drop_caches для удаления скомпрометированных страниц из памяти.
Техническая реализация в репозитории демонстрирует стабильный обход механизмов защиты памяти за счет архитектурной ошибки в управлении владением страницами внутри сетевого стека.

Profile

mdmx: (Default)
mdmx

May 2026

S M T W T F S
     12
345 67 89
101112 13141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 13th, 2026 04:02 pm
Powered by Dreamwidth Studios