Kwetsbaarheid in het iSCSI-subsysteem van de Linux-kernel waardoor u uw bevoegdheden kunt escaleren

Er is een kwetsbaarheid (CVE-2021-27365) geïdentificeerd in de iSCSI-subsysteemcode van de Linux-kernel, waardoor een lokale gebruiker zonder privileges code op kernelniveau kan uitvoeren en root-privileges in het systeem kan verkrijgen. Er is een werkend prototype van de exploit beschikbaar om te testen. Het beveiligingslek is verholpen in Linux-kernelupdates 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 en 4.4.260. Kernelpakketupdates zijn beschikbaar op Debian-, Ubuntu-, SUSE/openSUSE-, Arch Linux- en Fedora-distributies. Er zijn nog geen oplossingen vrijgegeven voor RHEL.

Het probleem wordt veroorzaakt door een fout in de functie iscsi_host_get_param() van de libiscsi-module, die in 2006 werd geïntroduceerd tijdens de ontwikkeling van het iSCSI-subsysteem. Door het ontbreken van de juiste groottecontroles kunnen sommige iSCSI-tekenreekskenmerken, zoals hostnaam of gebruikersnaam, de PAGE_SIZE-waarde (4 KB) overschrijden. Het beveiligingslek kan worden misbruikt door een onbevoegde gebruiker die Netlink-berichten verzendt die iSCSI-kenmerken instellen op waarden groter dan PAGE_SIZE. Wanneer deze attributen worden gelezen via sysfs of seqfs, wordt er code aangeroepen die de attributen doorgeeft aan de sprintf-functie om te worden gekopieerd naar een buffer waarvan de grootte PAGE_SIZE is.

Het misbruik van de kwetsbaarheid in distributies is afhankelijk van ondersteuning voor het automatisch laden van de kernelmodule scsi_transport_iscsi bij een poging een NETLINK_ISCSI-socket te maken. In distributies waar deze module automatisch wordt geladen, kan de aanval worden uitgevoerd ongeacht het gebruik van iSCSI-functionaliteit. Om de exploit succesvol te kunnen gebruiken, is tegelijkertijd registratie van ten minste één iSCSI-transport vereist. Om een ​​transport te registreren, kunt u op zijn beurt de kernelmodule ib_iser gebruiken, die automatisch wordt geladen wanneer een gebruiker zonder rechten een NETLINK_RDMA-socket probeert te maken.

Het automatisch laden van modules die nodig zijn voor de exploitatietoepassing wordt ondersteund in CentOS 8, RHEL 8 en Fedora bij het installeren van het rdma-core pakket op het systeem, wat een afhankelijkheid is voor sommige populaire pakketten en standaard geïnstalleerd wordt in configuraties voor werkstations, serversystemen met Virtualisatie van GUI en hostomgevingen. Rdma-core wordt echter niet geïnstalleerd bij gebruik van een serverassemblage die alleen in consolemodus werkt en bij het installeren van een minimaal installatie-image. Het pakket is bijvoorbeeld opgenomen in de basisdistributie van Fedora 31 Workstation, maar niet in Fedora 31 Server. Debian en Ubuntu zijn minder gevoelig voor het probleem omdat het rdma-core-pakket de kernelmodules die nodig zijn voor de aanval alleen laadt als RDMA-hardware aanwezig is.

Kwetsbaarheid in het iSCSI-subsysteem van de Linux-kernel waardoor u uw bevoegdheden kunt escaleren

Als veiligheidsoplossing kunt u het automatisch laden van de libiscsi-module uitschakelen: echo “install libiscsi /bin/true” >> /etc/modprobe.d/disable-libiscsi.conf

Bovendien zijn twee minder gevaarlijke kwetsbaarheden opgelost die zouden kunnen leiden tot gegevenslekken uit de kernel in het iSCSI-subsysteem: CVE-2021-27363 (lekken van iSCSI-transportdescriptorinformatie via sysfs) en CVE-2021-27364 (buffer buiten het bereik lezen). Deze kwetsbaarheden kunnen worden gebruikt om zonder de benodigde rechten via een netlink-socket te communiceren met het iSCSI-subsysteem. Een gebruiker zonder rechten kan bijvoorbeeld verbinding maken met iSCSI en de opdracht "end a session" geven om de sessie te beëindigen.

Bron: opennet.ru

Voeg een reactie