Dobësi në pirgun IPv6 të kernelit Linux që lejon ekzekutimin e kodit në distancë

Informacioni është zbuluar në lidhje me cenueshmërinë CVE-2023-6200) në grupin e rrjetit të kernelit Linux, i cili, në rrethana të caktuara, lejon një sulmues nga një rrjet lokal të arrijë ekzekutimin e kodit të tij duke dërguar një paketë të projektuar posaçërisht ICMPv6 me një mesazh RA (Router Advertisement) që synon të reklamojë informacione rreth ruterit.

Dobësia mund të shfrytëzohet vetëm nga rrjeti lokal dhe shfaqet në sistemet me mbështetjen e IPv6 të aktivizuar dhe me parametrin sysctl "net.ipv6.conf.<network_interface_name>.accept_ra" aktiv (mund të kontrollohet me komandën "sysctl net.ipv6.conf | grep accept_ra”), i cili është i çaktivizuar si parazgjedhje në RHEL dhe Ubuntu për ndërfaqet e jashtme të rrjetit, por aktivizohet për ndërfaqen loopback, e cila lejon një sulm nga i njëjti sistem.

Dobësia shkaktohet nga një gjendje gare kur mbledhësi i plehrave përpunon regjistrime të ndenjura fib6_info, të cilat mund të çojnë në akses në një zonë memorie tashmë të çliruar (përdorim pas-free). Kur merrni një paketë ICMPv6 me një mesazh reklamimi për ruterin (RA, Reklamë Router), grupi i rrjetit thërret funksionin ndisc_router_discovery(), i cili, nëse mesazhi RA përmban informacion për jetëgjatësinë e rrugës, thërret funksionin fib6_set_expires() dhe plotëson gc_link strukturën. Për të pastruar hyrjet e vjetruara, përdorni funksionin fib6_clean_expires(), i cili shkëput hyrjen në gc_link dhe pastron kujtesën e përdorur nga struktura fib6_info. Në këtë rast, ekziston një moment i caktuar kur memoria për strukturën fib6_info tashmë është liruar, por lidhja me të vazhdon të jetë në strukturën gc_link.

Dobësia u shfaq duke filluar nga dega 6.6 dhe u rregullua në versionet 6.6.9 dhe 6.7. Statusi i rregullimit të cenueshmërisë në shpërndarje mund të vlerësohet në këto faqe: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Ndër shpërndarjet që dërgojnë paketat me kernelin 6.6, mund të vëmë re Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva dhe Manjaro; në shpërndarjet e tjera, është e mundur që ndryshimi me një gabim të kthehet në paketa me degë të kernelit më të vjetër (për shembull, në Debian përmendet se paketa me kernel 6.5.13 është e cenueshme, ndërsa ndryshimi problematik u shfaq në degën 6.6). Si një zgjidhje sigurie, mund të çaktivizoni IPv6 ose të vendosni parametrat "net.ipv0.conf.*.accept_ra" në 6.

Burimi: opennet.ru

Shto një koment