Linux kodola IPv6 steka ievainojamība, kas ļauj attālināti izpildīt kodu

Ir atklāta informācija par Linux kodola tīkla kaudzē ievainojamību CVE-2023-6200), kas noteiktos apstākļos ļauj uzbrucējam no lokālā tīkla panākt sava koda izpildi, nosūtot speciāli izstrādātu ICMPv6 paketi ar RA (Router Advertisement) ziņojums, kas paredzēts, lai reklamētu informāciju par maršrutētāju.

Ievainojamību var izmantot tikai no lokālā tīkla, un tā parādās sistēmās, kurās ir iespējots IPv6 atbalsts un ir aktīvs sysctl parametrs “net.ipv6.conf.<network_interface_name>.accept_ra” (to var pārbaudīt ar komandu “sysctl net.ipv6.conf”. | grep accept_ra”), kas pēc noklusējuma ir atspējota RHEL un Ubuntu ārējām tīkla saskarnēm, bet ir iespējota cilpas interfeisam, kas pieļauj uzbrukumu no tās pašas sistēmas.

Ievainojamību izraisa sacensību stāvoklis, kad atkritumu savācējs apstrādā novecojušus fib6_info ierakstus, kā rezultātā var piekļūt jau atbrīvotam atmiņas apgabalam (izmantot pēc brīvas lietošanas). Saņemot ICMPv6 paketi ar maršrutētāja reklāmas ziņojumu (RA, Router Advertisement), tīkla steks izsauc funkciju ndisc_router_discovery(), kas, ja RA ziņojumā ir informācija par maršruta kalpošanas laiku, izsauc funkciju fib6_set_expires() un aizpilda gc_link. struktūra. Lai notīrītu novecojušos ierakstus, izmantojiet funkciju fib6_clean_expires(), kas atdala ierakstu gc_link un notīra struktūras fib6_info izmantoto atmiņu. Šajā gadījumā ir noteikts brīdis, kad atmiņa fib6_info struktūrai jau ir atbrīvota, bet saite uz to joprojām atrodas gc_link struktūrā.

Ievainojamība parādījās, sākot ar 6.6. zari, un tika novērsta versijās 6.6.9 un 6.7. Izplatījumu ievainojamības novēršanas statusu var novērtēt šajās lapās: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Starp izplatījumiem, kas piegādā pakotnes ar kodolu 6.6, var atzīmēt Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva un Manjaro; citos izplatījumos ir iespējams, ka izmaiņas ar kļūdu tiek atgrieztas pakotnēs ar vecākām kodola zarām (par Piemēram, Debian ir minēts, ka pakotne ar kodolu 6.5.13 ir ievainojama, savukārt problemātiskās izmaiņas parādījās 6.6 filiālē). Kā drošības risinājumu varat atspējot IPv6 vai iestatīt “net.ipv0.conf.*.accept_ra” parametrus uz 6.

Avots: opennet.ru

Pievieno komentāru