Korenska ranljivost, ki jo je mogoče oddaljeno izkoristiti, v pripomočku ping, vključenem v FreeBSD

V FreeBSD je bila ugotovljena ranljivost (CVE-2022-23093) v pripomočku ping, vključenem v osnovno distribucijo. Težava bi lahko povzročila oddaljeno izvajanje kode s korenskimi pravicami pri pinganju zunanjega gostitelja, ki ga nadzira napadalec. Popravek je bil na voljo v posodobitvah FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 in 12.3-RELEASE-p10. Ni še jasno, ali ugotovljena ranljivost vpliva na druge sisteme BSD (za NetBSD, DragonFlyBSD in OpenBSD še ni poročil o ranljivostih).

Ranljivost je posledica prekoračitve medpomnilnika v kodi za razčlenjevanje za sporočila ICMP, prejeta kot odgovor na zahtevo za preverjanje. Koda za pošiljanje in prejemanje sporočil ICMP v pingu uporablja neobdelane vtičnice in se izvaja s povišanimi privilegiji (pripomoček je opremljen s korensko zastavico setuid). Odgovor se obdela na strani ping z rekonstrukcijo glav IP in ICMP paketov, prejetih iz neobdelane vtičnice. Izbrane glave IP in ICMP se prekopirajo v medpomnilnike s pr_pack(), pri čemer se ne upošteva, da so lahko dodatne razširjene glave prisotne v paketu za glavo IP.

Takšne glave so izvlečene iz paketa in vključene v blok glave, vendar se ne upoštevajo pri izračunu velikosti medpomnilnika. Če gostitelj v odgovor na poslano zahtevo ICMP vrne paket z dodatnimi glavami, bo njihova vsebina zapisana v območje za mejo medpomnilnika na skladu. Posledica tega je, da lahko napadalec prepiše do 40 bajtov podatkov na skladu, kar potencialno omogoči izvajanje njihove kode. Resnost težave zmanjša dejstvo, da je v času, ko pride do napake, proces v stanju izolacije sistemskega klica (način zmogljivosti), kar oteži dostop do preostalega sistema po izkoriščanju ranljivosti. .

Vir: opennet.ru

Dodaj komentar