🌿 #infrastructure #offense #заметки
➡Видели же целую серию Linux LPE, ± аналогичных небезызвестным Dirty Cow & Dirty Pipe [спасибо им за флаги с машин HTB / OffSec'ов!] ?
0️⃣ OG: Dirty Cow
▪️CVE-2016-5195
▪️dirtycow.ninja
▪️PoC
➡️Race Condition в Copy-On-Write (= COW)➡️ломается маппинг read-only памяти, допускается перезапись➡️LPE (write);
1️⃣ Dirty Pipe
▪️CVE-2022-0847
▪️dirtypipe.cm4all.com
▪️PoC
➡️Не проинициализировали pipe_buffer.flags, он мог использовать устаревшее значение PIPE_BUF_FLAG_CAN_MERGE (которое указывает, можно ли смержить [page cache pipe'а➡️ в связанную страницу])➡️допускается перезапись page cache через splice()➡️LPE (write);
==== мы здесь = в 2026 году ====
2️⃣ Copy Fail
▪️CVE-2026-31431
▪️copy.fail
▪️xint.io/blog/copy-fail-linux-distributions
▪️PoC
➡️Логическая бага в криптографии (authencesn) через AF_ALG➡️допускается перезапись page cache по 4 байта➡️LPE (write);
3️⃣ Copy Fail 2 / Dirty Frag
▪️CVE-2026-43284, CVE-2026-43500
▪️github.com/V4bel/dirtyfrag
▪️PoC
➡️RxRPC дешифрует 8-байтовые блоки, шифр слабый + допускается перезапись page cache по 4 байта через IPsec (XFRM/ESP)➡️LPE (write);
4️⃣ Copy Fail 3 / Fragnesia
▪️CVE-2026-46300
▪️github.com/v12-security/pocs/fragnesia
➡️После фикса ситуации с XFRM/ESP (??) не прокидывался флаг SKBFL_SHARED_FRAG (который указывает, что страницы ещё используются другими подсистемами = их нельзя переписывать)➡️допускается перезапись page cache➡LPE (write);
5️⃣ Dirty Decrypt / Dirty CBC
▪️CVE-2026-31635
▪️github.com/v12-security/pocs/dirtydecrypt
➡️В RxGK не хватало защиты, обеспечивающей Copy-on-Write➡️дешифрованные данные из skb попадали в page cache без создания приватной копии➡️допускается перезапись page cache➡️LPE (write);
6️⃣ Dirty Clone
▪️CVE-2026-43503
▪️research.jfrog.com/...dirtyclone-cve-2026-43503
➡️ При клонировании пакета у итогового клона теряется флаг SKBFL_SHARED_FRAG (помните из Fragnesia?)➡️допускается перезапись page cache через клон skb➡LPE (write);
⬆️ Все они внесли вклад в разрастание семьи Page Cache Corruption уязвимостей; 🐇🐇🐇
@HaHacking 🐇
➡Видели же целую серию Linux LPE, ± аналогичных небезызвестным Dirty Cow & Dirty Pipe [спасибо им за флаги с машин HTB / OffSec'ов!] ?
⚡️ СЛОВАРИК
▪️Page cache / Страничный кэш — механизм временного хранения в RAM данных из файлов, чтобы быстрее к ним обращаться;
▪️Pipe — "неименованный" канал общения между двумя процессами;
▪️skb / Socket buffer / Буфер сокета — структура данных, представляющая сетевой пакет;
▪️Copy-On-Write / Копирование при записи — механизм оптимизации памяти; пока файл не изменяется, разные процессы читают одну и ту же область памяти [общую копию файла]
▪️Zero-copy — сама концепция оптимизации, чтобы ОС могла передавать данные без лишнего копирования;
0️⃣ OG: Dirty Cow
▪️CVE-2016-5195
▪️dirtycow.ninja
▪️PoC
➡️Race Condition в Copy-On-Write (= COW)➡️ломается маппинг read-only памяти, допускается перезапись➡️LPE (write);
1️⃣ Dirty Pipe
▪️CVE-2022-0847
▪️dirtypipe.cm4all.com
▪️PoC
➡️Не проинициализировали pipe_buffer.flags, он мог использовать устаревшее значение PIPE_BUF_FLAG_CAN_MERGE (которое указывает, можно ли смержить [page cache pipe'а➡️ в связанную страницу])➡️допускается перезапись page cache через splice()➡️LPE (write);
==== мы здесь = в 2026 году ====
2️⃣ Copy Fail
▪️CVE-2026-31431
▪️copy.fail
▪️xint.io/blog/copy-fail-linux-distributions
▪️PoC
➡️Логическая бага в криптографии (authencesn) через AF_ALG➡️допускается перезапись page cache по 4 байта➡️LPE (write);
3️⃣ Copy Fail 2 / Dirty Frag
▪️CVE-2026-43284, CVE-2026-43500
▪️github.com/V4bel/dirtyfrag
▪️PoC
➡️RxRPC дешифрует 8-байтовые блоки, шифр слабый + допускается перезапись page cache по 4 байта через IPsec (XFRM/ESP)➡️LPE (write);
4️⃣ Copy Fail 3 / Fragnesia
▪️CVE-2026-46300
▪️github.com/v12-security/pocs/fragnesia
➡️После фикса ситуации с XFRM/ESP (??) не прокидывался флаг SKBFL_SHARED_FRAG (который указывает, что страницы ещё используются другими подсистемами = их нельзя переписывать)➡️допускается перезапись page cache➡LPE (write);
5️⃣ Dirty Decrypt / Dirty CBC
▪️CVE-2026-31635
▪️github.com/v12-security/pocs/dirtydecrypt
➡️В RxGK не хватало защиты, обеспечивающей Copy-on-Write➡️дешифрованные данные из skb попадали в page cache без создания приватной копии➡️допускается перезапись page cache➡️LPE (write);
6️⃣ Dirty Clone
▪️CVE-2026-43503
▪️research.jfrog.com/...dirtyclone-cve-2026-43503
➡️ При клонировании пакета у итогового клона теряется флаг SKBFL_SHARED_FRAG (помните из Fragnesia?)➡️допускается перезапись page cache через клон skb➡LPE (write);
⬆️ Все они внесли вклад в разрастание семьи Page Cache Corruption уязвимостей; 🐇🐇🐇
Honorable mention, чтобы не уходить далеко от недавних проблем с ядром;
0️⃣ ssh-keysign-pwn
▪️CVE-2026-46333
▪️github.com/0xdeadbeefnetwork/ssh-keysign-pwn
➡️Race Condition в __ptrace_may_access()➡️возможна кража дескрипторов файлов, открытых привилегированными процессами➡️LPE (read);
@HaHacking 🐇