Në FreeBSD është identifikuar një dobësi (CVE-2022-23093) në utilitarin ping, i cili bën pjesë në paketën bazë. Problemi potencialisht mund të çojë në ekzekutimin e kodit nga distanca me privilegje root kur kontrollohet një host i jashtëm, i kontrolluar nga një sulmues. Rregullimi ë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 janë të prekshme nga dobësia e identifikuar (nuk ka raportime për dobësi në NetBSD, DragonFlyBSD dhe OpenBSD deri tani).
Dobësia shkaktohet nga një mbushje e tamponit në kodin e analizës së mesazhve ICMP që vijnë si përgjigje ndaj kërkesës kontroluese. Kodi i dërgimit dhe marrjes së mesazheve ICMP në ping përdor soketë raw dhe të ekzekutohet me privilegje të rritura (utilitari ofrohet me flamurin setuid root). Përpunimi i përgjigjes bëhet nga ping përmes rikonstruksionit të IP- dhe ICMP-headerave të pakove që merren nga soketi raw. Headerat IP dhe ICMP të alokuar kopjohen nga funksioni pr_pack() në tamponë, pa marrë parasysh se në paketë pas headerit IP mund të jenë të pranishëm header të tjerë të zgjatur.
Headerat e tillë alokohen nga paketa dhe përfshihen në bllokun e headerave, por nuk merren parasysh në llogaritjen e madhësisë së tamponit. Nëse hosti në përgjigje të kërkesës ICMP të dërguar kthen një paketë me header të shtuar, përmbajtja e tyre do të shkruhet në një hapësirë jashtë tamponit në stok. Si rezultat, sulmuesi mund të ri-shkruajë deri në 40 byte të dhënash në stok, gjë që potencialisht lejon ekzekutimin e kodit të tij. Rrezikshmëria e problemit zbutet nga fakti se, gjatë manifestimit të gabimit, procesi ndodhet në një gjendje të izoluar të thirrjeve sistemike (capability mode), gjë që e vështirëson marrjen e aksesit në sistemin e mbetur pas shfrytëzimit të dobësisë.
Burimi: opennet.ru
