Tre år efter bølgen af sårbarheder (, , , , ) i AF_PACKET subsystemet i Linux-kernen er der endnu et problem (), der giver en lokal, ikke-privilegeret bruger mulighed for at udføre kode med root-rettigheder eller slippe ud af isolerede containere, hvis de har root-adgang.
For at oprette en AF_PACKET socket og udnytte sårbarheden kræves der CAP_NET_RAW beføjelser. Denne beføjelse kan dog fås af ikke-privilegerede brugere i containere, der er oprettet i systemer med aktiveret bruger-namespaces. For eksempel er bruger-namespaces som standard aktiveret i Ubuntu og Fedora, men ikke i Debian og RHEL. I Android har processen mediaserver ret til at oprette AF_PACKET sockets, hvilket gør det muligt at udnytte sårbarheden.
Sårbarheden findes i funktionen tpacket_rcv og skyldes en fejl i beregningen af variablen netoff. Angriberen kan skabe betingelser, hvorved værdien i variablen netoff bliver mindre end værdien af maclen, hvilket vil forårsage et overflow ved beregningen af "macoff = netoff - maclen" og en forkert efterfølgende opsætning af en pointer til bufferen for indkommende data. Som følge heraf kan angrebere initiere en skrivning af mellem 1 og 10 byte til et område uden for det tildelte buffer. Det bemærkes, at der er en exploit under udvikling, der muliggør opnåelse af root-rettigheder i systemet.
Problemet har været til stede i kernen siden juli 2008, dvs. det manifesterer sig i alle aktuelle kerner. En rettelse er indtil videre tilgængelig i form af . Opdateringer af pakker i distributionerne kan overvåges på følgende sider: , , , , , .
Kilde: opennet.ru
