Ač zprávička říká, že neexistuje oprava, tak existuje workaround, opět zablokovat loadnutí modulů.
A minule jsme se tu bavili o custom kernelu vs. distribuční all-in-one, a dostal jsem vynadáno, že je to blbost a tak.
No kdo by to po tejdnu řekl, že autoload esp4.ko, esp6.ko a rxrpc.ko povede k rootovi? A jen tak mezi řečí, na kolika procentech serverů nebo WS se IPSEC vlastně používá?
Pro úplnost jsou aktuálně 2 exploity (rxrpc, xfrm). Zablokování modulů pomocí konfiguračního souboru /etc/modprobe.d/dirtyfrag.conf:
install esp4 /bin/false install esp6 /bin/false install rxrpc /bin/false install xfrm_user /bin/false
Pak vyhodit z jádra moduly:
rmmod esp4 esp6 rxrpc xfrm_user
Nakonec reboot, vylití cache na již proběhlý exploit nestačí (pozor, to vylití se docela zamyslí):
echo 1 > /proc/sys/vm/drop_caches reboot
Ano. Tak znova. Kolik procent WS a serverů používá jakoukoli VPN? A kolik procent z nich používá poměrně těžkopádný IPSec, a ne třeba Wireguard, OpenVPN?
A o kolik by se snížila attack surface, pokud by u zbylých ty moduly nebyly vůbec, nebo by alespoň neměly autoload, ale loadoval si je spouštěcí script od toho pluto/charona?
to je ale nedostatečné, ještě tam máš zranitelnost user nemaspaces, takže user.max_user_namespaces = 0 a papá třeba podman. Poté tam také visí AF_RXRPC, to lze vyřešit blokováním, pak add_key("rxrpc", ...), to už je horší, protože SystemCallFilter=~@keyring už má nějaké regrese, ale zase jde o případ, kdy tam uživatel může spouštět kód, to už nebude tak časté.