Kwetsbaarheid in de AF_PACKET socketimplementatie van de Linux-kernel

Drie jaar na de golf van kwetsbaarheden (1, 2, 3, 4, 5) in het AF_PACKET-subsysteem van de Linux-kernel geïdentificeerd nog een probleem (CVE-2020-14386), waardoor een lokale gebruiker zonder rechten code als root kan uitvoeren of geïsoleerde containers kan verlaten als deze root-toegang heeft.

Voor het maken van een AF_PACKET-socket en het misbruiken van de kwetsbaarheid zijn CAP_NET_RAW-rechten vereist. De opgegeven toestemming kan echter worden verkregen door een gebruiker zonder rechten in containers die zijn gemaakt op systemen waarop ondersteuning voor gebruikersnaamruimten is ingeschakeld. Gebruikersnaamruimten zijn bijvoorbeeld standaard ingeschakeld op Ubuntu en Fedora, maar niet op Debian en RHEL. Op Android heeft het mediaserverproces het recht om AF_PACKET-sockets te maken, waarmee de kwetsbaarheid kan worden uitgebuit.

Het beveiligingslek is aanwezig in de functie tpacket_rcv en wordt veroorzaakt door een fout bij het berekenen van de netoff-variabele. Een aanvaller kan omstandigheden creëren waarin de netoff-variabele naar een waarde wordt geschreven die lager is dan de maclen-variabele, wat een overflow zal veroorzaken bij het berekenen van "macoff = netoff - maclen" en vervolgens het verkeerd instellen van de pointer naar de buffer voor inkomende gegevens. Als gevolg hiervan kan een aanvaller het schrijven van 1 tot 10 bytes naar een gebied buiten de grens van de toegewezen buffer initiëren. Er wordt opgemerkt dat er een exploit in ontwikkeling is waarmee u rootrechten op het systeem kunt verkrijgen.

Het probleem is sinds juli 2008 aanwezig in de kernel, d.w.z. manifesteert zich in alle feitelijke kernen. De oplossing is momenteel beschikbaar als lapje. U kunt de beschikbaarheid van pakketupdates in distributies volgen op de volgende pagina's: Ubuntu, Fedora, SUSE, Debian, RHEL, boog.

Bron: opennet.ru

Voeg een reactie