Drie jaar na de golf van kwetsbaarheden (, , , , ) in de AF_PACKET-subsystemen van de Linux-kernel is er opnieuw een probleem (), waarmee een lokale niet-bevoorrechte gebruiker code met root-rechten kan uitvoeren of uit geĆÆsoleerde containers kan ontsnappen, mits deze root-toegang hebben.
Voor het aanmaken van een AF_PACKET-socket en het uitbuiten van de kwetsbaarheid zijn CAP_NET_RAW-rechten vereist. Echter, deze rechten kunnen door een niet-bevoorrechte gebruiker in containers worden verkregen die zijn aangemaakt op systemen met ingeschakelde ondersteuning voor gebruikersnamespace (user namespaces). Bijvoorbeeld, gebruikersnamespaces zijn standaard ingeschakeld in Ubuntu en Fedora, maar zijn niet geactiveerd in Debian en RHEL. In Android heeft het proces mediaserver het recht om AF_PACKET-sockets aan te maken, waarmee de kwetsbaarheid kan worden uitgebuit.
De kwetsbaarheid is aanwezig in de functie tpacket_rcv en wordt veroorzaakt door een fout in de berekening van de variabele netoff. Een aanvaller kan omstandigheden creƫren waarin de variabele netoff een waarde kleiner dan de variabele maclen ontvangt, wat tot een overflow leidt bij de berekening van 'macoff = netoff - maclen' en de onjuiste daaropvolgende instelling van de pointer naar de buffer voor binnenkomende gegevens. Dit stelt aanvallers in staat om tussen de 1 en 10 bytes buiten de toegewezen buffer te schrijven. Het is opgemerkt dat er een exploit in ontwikkeling is die root-rechten op het systeem kan verkrijgen.
Het probleem is aanwezig in de kernel sinds juli 2008, d.w.z. het komt voor in alle actuele kernels. Een patch is momenteel beschikbaar in de vorm van . Updates voor pakketten in distributies kunnen worden bijgehouden op de volgende pagina's: , , , , , .
Bron: opennet.ru
