Dobësia rrënjësore e shfrytëzuar nga distanca në programin ping të FreeBSD

FreeBSD ka një cenueshmëri (CVE-2022-23093) në programin ping të përfshirë në shpërndarjen bazë. Problemi mund të çojë potencialisht në ekzekutimin e kodit në distancë si rrënjë kur pingoni një host të jashtëm të kontrolluar nga sulmuesi. Një rregullim është propozuar në përditësimet FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 dhe 12.3-RELEASE-p10. Nuk është ende e qartë nëse sistemet e tjera BSD preken nga cenueshmëria e identifikuar (netBSD, DragonFlyBSD dhe OpenBSD nuk janë raportuar ende).

Dobësia shkaktohet nga një tejmbushje buferi në kodin e analizës për mesazhet ICMP të marra në përgjigje të një kërkese hetimi. Kodi për dërgimin dhe marrjen e mesazheve ICMP në ping përdor bazat e papërpunuara dhe ekzekutohet me privilegje të ngritura (produkti vjen me flamurin rrënjë setuid). Përgjigja përpunohet në anën ping përmes rindërtimit të kokave IP dhe ICMP të paketave të marra nga priza e papërpunuar. Kokat e ekstraktuara të IP dhe ICMP kopjohen nga funksioni pr_pack() në buferë, pavarësisht nga fakti që titujt shtesë të zgjeruar mund të jenë të pranishëm në paketë pas kokës së IP-së.

Titujt e tillë nxirren nga paketa dhe përfshihen në bllokun e kokës, por nuk merren parasysh gjatë llogaritjes së madhësisë së buferit. Nëse hosti, në përgjigje të një kërkese të dërguar ICMP, kthen një paketë me tituj shtesë, përmbajtja e tyre do të shkruhet në zonën jashtë kufirit të tamponit në pirg. Si rezultat, sulmuesi mund të mbishkruajë deri në 40 bajt të dhëna në rafte, duke lejuar që kodi i tij të ekzekutohet. Rreziku i problemit zbutet nga fakti se në kohën e shfaqjes së gabimit, procesi është në një gjendje të izolimit të thirrjeve të sistemit (modaliteti i aftësisë), gjë që e bën të vështirë marrjen e aksesit në pjesën tjetër të sistemit. pas shfrytëzimit të cenueshmërisë.

Burimi: opennet.ru

Shto një koment