Linux Kernel 2.6 Root Exploit

Gisteren maakte collega Bram ons attent op een Debian Bugreport van het linux-2.6 kernel-package. Gezien deze bug er relatief kritisch uitzag testten we de Proof-Of-Concept (of toch een aangepaste versie) meteen uit op onze virtuele test-systemen. Eén soort systemen bleek kwetsbaar voor deze exploit (diegene met de 2.6.18-domu kernel).

Elk van onze systemen draait een custom kernel, zodat deze zo vlot mogelijk en aan onze wensen aangepast draaien. Dit zorgt er ook voor dat we kleine stukken code kunnen patchen om snel exploits tegen te gaan. Zo ook deze, de oplossing bleek relatief simpel te zijn:

--- a/fs/splice.c +++ b/fs/splice.c @@ -1234,7 +1234,7 @@ static int get_iovec_page_array(const struct iovec __user *iov, if (unlikely(!len)) break; error = -EFAULT; - if (unlikely(!base)) + if (!access_ok(VERIFY_READ, base, len)) break;

/*

Na deze patch toe te voegen aan de kernels, en een grondige test-run, waren we deze ochtend klaar om de kwetsbare servers een voor een te herstarten. Na goede communicatie met de getroffen klanten, werden alle machines herstart met de nieuwe kernel zonder problemen.

Wij raden iedereen met eigen servers aan dit zeker ook na te kijken! Debian heeft momenteel nog geen patch in zijn security updates zitten, maar dit komt er zeker aan.

UPDATE: Ondertussen is er een debian security update

Geschreven op 11/02/2008

Door Jan De Poorter

Tags: kernel, linux, security

Reageer