Dirty Frag (CVE-2026-43284, CVE-2026-43500): Логи, артефакты и правило корреляции
Dirty Frag — это случай, расширяющий класс ошибок, к которому относятся Dirty Pipe и Copy Fail. Поскольку это детерминированная логическая ошибка, не зависящая от временного окна, она не требует состояния гонки, ядро не аварийно завершает работу в случае неудачного эксплойта, а вероятность успеха очень высока
Подробнее можно ознакомиться тут и тут
Пример логов:
<14>2026-05-13T07:46:45.247707+03:00 test_serv auditdrecord: type=MAC_IPSEC_EVENT msg=audit(1778647605.244:144825): op=SAD-delete auid=4294967295 ses=4294967295 src=127.0.0.1 dst=127.0.0.1 spi=3735928356(0xdeadbe24) res=1 AUID="unset"
<14>2026-05-13T07:46:41.600544+03:00 test_serv auditdrecord: type=MAC_IPSEC_EVENT msg=audit(1778647601.596:144762): op=SA-icv-failure src=127.0.0.1 dst=127.0.0.1 spi=3735928360(0xdeadbe28) seqno=200
Итак, с точки зрения защиты нам нужно выявить основные паттерны эксплуатации данного LPE:
1. События IPsec/XFRM в auditd:
Ключевой auditd-артефакт для Dirty Frag - событие c type=MAC_IPSEC_EVENT
Это событие появляется при операциях с IPsec Security Association Database, то есть при создании, удалении или ошибках обработки Security Association. Наиболее интересные значения op:SAD-add - добавление Security Association;SAD-delete - удаление Security Association;SA-icv-failure - ошибка проверки целостности IPsec-пакета.
2. Подозрительный SPI
В публичном PoC для Dirty Frag используется характерный диапазон SPI:0xdeadbe10, 0xdeadbe11, 0xdeadbe12 ... 0xdeadbeXX
3. Loopback-трафик src=127.0.0.1, dst=127.0.0.1
Это связано с тем, что эксплуатация происходит локально: атакующему не нужен внешний сетевой трафик, он прогоняет специально подготовленные ESP/UDP-пакеты через loopback.
4. Пачка однотипных событий за короткий промежуток времени
Dirty Frag - не одиночное событие. В публичном PoC создаётся серия XFRM SA, по одной на каждый 4-байтный фрагмент записи в page cache. Поэтому вместо одного события обычно будет наблюдаться серия:SAD-addSAD-deleteSA-icv-failure
в течение короткого промежутка времени.
Правило корреляции для KUMA:
Время жизни контейнера: 300 сек
Порог срабатывания: 10+ событий
DeviceProduct = 'auditd' AND DeviceEventClassID = 'MAC_IPSEC_EVENT' AND (FlexString2 = ['SAD-add', 'SA-icv-failure', 'SAD-delete'] OR Extra.spi contains '0xdeadbe') AND SourceAddress = '127.0.0.1' AND DestinationAddress = '127.0.0.1'
