Daljinski iskorišćena root ranjivost u FreeBSD-ovom ping uslužnom programu

FreeBSD ima ranjivost (CVE-2022-23093) u ping uslužnom programu uključenom u osnovnu distribuciju. Problem bi potencijalno mogao dovesti do udaljenog izvršavanja koda kao root prilikom pingovanja vanjskog hosta koji kontrolira napadač. Popravka je predložena u ažuriranjima FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 i 12.3-RELEASE-p10. Još nije jasno da li su identifikovana ranjivost na druge BSD sisteme pogođena (netBSD, DragonFlyBSD i OpenBSD još nisu prijavljeni).

Ranjivost je uzrokovana prekoračenjem bafera u kodu za raščlanjivanje za ICMP poruke primljene kao odgovor na zahtjev za ispitivanje. Kod za slanje i primanje ICMP poruka u pingu koristi sirove utičnice i izvršava se s povišenim privilegijama (uslužni program dolazi sa setuid root zastavicom). Odgovor se obrađuje na ping strani kroz rekonstrukciju IP i ICMP zaglavlja paketa primljenih iz sirovog soketa. Izdvojena IP i ICMP zaglavlja kopiraju se pomoću funkcije pr_pack() u međuspremnike, bez obzira na to što dodatna proširena zaglavlja mogu biti prisutna u paketu nakon IP zaglavlja.

Takva zaglavlja se izdvajaju iz paketa i uključuju u blok zaglavlja, ali se ne uzimaju u obzir prilikom izračunavanja veličine bafera. Ako host, kao odgovor na poslani ICMP zahtjev, vrati paket s dodatnim zaglavljima, njihov sadržaj će biti upisan u područje izvan granice bafera na steku. Kao rezultat toga, napadač može prepisati do 40 bajtova podataka na steku, potencijalno omogućavajući izvršavanje njegovog koda. Opasnost od problema je ublažena činjenicom da je u trenutku ispoljavanja greške proces u stanju izolacije sistemskih poziva (način mogućnosti), što otežava pristup ostatku sistema. nakon iskorištavanja ranjivosti.

izvor: opennet.ru

Dodajte komentar