Der iSCSI subsystemkode i Linux-kernen har en sårbarhed (CVE-2021-27365), der tillader en ikke-privilegeret lokal bruger at udføre kode på kernniveau og opnå root-rettigheder i systemet. En fungerende prototype til eksploitering er tilgængelig til test. Sårbarheden er blevet rettet i opdateringerne til Linux-kernen 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 og 4.4.260. Opdateringer til kernepakker er tilgængelige i Debian, Ubuntu, SUSE/openSUSE, Arch Linux og Fedora. For RHEL er der endnu ikke udgivet rettelser.
Problemet skyldes en fejl i funktionen iscsi_host_get_param() i libiscsi-modulet, der blev indført tilbage i 2006 under udviklingen af iSCSI-subsystemet. På grund af manglende korrekt størrelsekontrol kan nogle strengegenskaber ved iSCSI, såsom hostname eller username, overskride værdien PAGE_SIZE (4 KB). Sårbarheden kan udnyttes ved at en ikke-privilegeret bruger sender Netlink-beskeder, der sætter iSCSI-attributter til værdier, der overskrider PAGE_SIZE. Når disse attributdata læses via sysfs eller seqfs, kaldes der kode, der sender attributterne til sprintf-funktionen for at kopiere dem til en buffer, hvis størrelse er PAGE_SIZE.
Udnyttelsen af sårbarheden i distributionerne afhænger af, om der automatisk indlæses en kernel-modul scsi_transport_iscsi, når der forsøges at oprette en NETLINK_ISCSI socket. I distributioner, hvor denne modul indlæses automatisk, kan angrebet udføres uanset brugen af iSCSI-funktionen. For en succesfuld anvendelse af eksploitet kræves det desuden, at mindst én iSCSI-transport registreres. Registreringen af transport kan ske ved hjælp af kernel-modulet ib_iser, som bliver automatisk indlæst, når en ikke-privilegeret bruger forsøger at oprette en NETLINK_RDMA socket.
Automatisk indlæsning af de nødvendige moduler til udnyttelse understøttes i CentOS 8, RHEL 8 og Fedora ved installation af pakken rdma-core, som er en afhængighed for nogle populære pakker og som standard installeres i konfigurationer for arbejdsstationer, serversystemer med GUI og host-miljøer til virtualisering. Rdma-core installeres dog ikke, når der anvendes serverversionen, der kun kører i konsoltilstand, og ved installation af et minimalt installationsbillede. For eksempel indgår pakken i basisleverancen af Fedora 31 Workstation, men er ikke inkluderet i Fedora 31 Server. Debian og Ubuntu er mindre udsatte for dette problem, da pakken rdma-core kun indlæser de nødvendige kerne-moduler til angrebet, hvis RDMA-hardware er til stede.

Som en midlertidig beskyttelsesmetode kan automatisk indlæsning af modulerne libiscsi forhindres: echo "install libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf
Derudover er der i iSCSI-subsystemet identificeret to mindre farlige sårbarheder, der kan føre til lækage af data fra kernen: CVE-2021-27363 (lækage af oplysninger om transportdeskriptoren iSCSI via sysfs) og CVE-2021-27364 (læsning uden for buffergrænserne). De nævnte sårbarheder kan udnyttes til at interagere med iSCSI-subsystemet via et netlink-socket uden de nødvendige rettigheder. For eksempel kan en ikke-privilegeret bruger oprette forbindelse til iSCSI og sende kommandoen "end a session" for at afbryde sessionen.
Kilde: opennet.ru
