Dobësi në nënsistemin iSCSI të kernelit Linux që lejon përshkallëzimin e privilegjeve

Një dobësi (CVE-2021-27365) është identifikuar në kodin e nënsistemit iSCSI të kernelit Linux, i cili lejon një përdorues lokal të paprivilegjuar të ekzekutojë kodin në nivelin e kernelit dhe të fitojë privilegje rrënjësore në sistem. Një prototip pune i shfrytëzimit është i disponueshëm për testim. Dobësia u adresua në përditësimet e kernelit Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 dhe 4.4.260. Përditësimet e paketës së kernelit janë të disponueshme në shpërndarjet Debian, Ubuntu, SUSE/openSUSE, Arch Linux dhe Fedora. Asnjë rregullim nuk është lëshuar ende për RHEL.

Problemi është shkaktuar nga një gabim në funksionin iscsi_host_get_param() nga moduli libiscsi, i prezantuar në vitin 2006 gjatë zhvillimit të nënsistemit iSCSI. Për shkak të mungesës së kontrolleve të duhura të madhësisë, disa atribute të vargut iSCSI, si emri i hostit ose emri i përdoruesit, mund të kalojnë vlerën PAGE_SIZE (4 KB). Dobësia mund të shfrytëzohet nga një përdorues i paprivilegjuar që dërgon mesazhe Netlink që vendosin atributet iSCSI në vlera më të mëdha se PAGE_SIZE. Kur këto atribute lexohen përmes sysfs ose seqfs, thirret kodi që i kalon atributet funksionit sprintf për t'u kopjuar në një bufer, madhësia e të cilit është PAGE_SIZE.

Shfrytëzimi i cenueshmërisë në shpërndarje varet nga mbështetja për ngarkimin automatik të modulit të kernelit scsi_transport_iscsi kur përpiqeni të krijoni një fole NETLINK_ISCSI. Në shpërndarjet ku ky modul ngarkohet automatikisht, sulmi mund të kryhet pavarësisht nga përdorimi i funksionalitetit iSCSI. Në të njëjtën kohë, për të përdorur me sukses shfrytëzimin, kërkohet gjithashtu regjistrimi i të paktën një transporti iSCSI. Nga ana tjetër, për të regjistruar një transport, mund të përdorni modulin e kernelit ib_iser, i cili ngarkohet automatikisht kur një përdorues i paprivilegjuar përpiqet të krijojë një fole NETLINK_RDMA.

Ngarkimi automatik i moduleve të nevojshme për aplikimin e shfrytëzimit mbështetet në CentOS 8, RHEL 8 dhe Fedora kur instaloni paketën rdma-core në sistem, e cila është një varësi për disa paketa të njohura dhe instalohet si parazgjedhje në konfigurimet për stacionet e punës, sistemet e serverëve me Virtualizimi i GUI dhe mjediseve pritëse. Megjithatë, rdma-core nuk instalohet kur përdorni një asamble serveri që funksionon vetëm në modalitetin e konsolës dhe kur instaloni një imazh minimal instalimi. Për shembull, paketa përfshihet në shpërndarjen bazë të Stacionit të Punës Fedora 31, por nuk përfshihet në Serverin Fedora 31. Debian dhe Ubuntu janë më pak të ndjeshëm ndaj problemit sepse paketa rdma-core ngarkon modulet e kernelit të nevojshëm për sulmin vetëm nëse hardueri RDMA është i pranishëm.

Dobësi në nënsistemin iSCSI të kernelit Linux që lejon përshkallëzimin e privilegjeve

Si një zgjidhje sigurie, mund të çaktivizoni ngarkimin automatik të modulit libiscsi: echo "instalo libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf

Për më tepër, dy dobësi më pak të rrezikshme që mund të çojnë në rrjedhje të të dhënave nga kerneli janë rregulluar në nënsistemin iSCSI: CVE-2021-27363 (rrjedhja e informacionit të përshkruesit të transportit iSCSI nëpërmjet sysfs) dhe CVE-2021-27364 (buferi jashtë kufijve lexoni). Këto dobësi mund të përdoren për të komunikuar nëpërmjet një prize netlink me nënsistemin iSCSI pa privilegjet e nevojshme. Për shembull, një përdorues i paprivilegjuar mund të lidhet me iSCSI dhe të lëshojë komandën "fund një sesioni" për të përfunduar seancën.

Burimi: opennet.ru

Shto një koment