Gipahimuslan sa layo ang pagkahuyang sa ugat sa ping utility sa FreeBSD

Ang FreeBSD adunay kahuyang (CVE-2022-23093) sa ping utility nga gilakip sa base distribution. Ang isyu posibleng mosangpot sa remote code execution isip root kung mag-ping sa external host nga kontrolado sa tig-atake. Gisugyot ang usa ka pag-ayo sa mga update sa FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 ug 12.3-RELEASE-p10. Kung ang ubang mga sistema sa BSD naapektuhan sa giila nga kahuyangan dili pa klaro (netBSD, DragonFlyBSD ug OpenBSD wala pa gitaho).

Ang kahuyang tungod sa usa ka buffer overflow sa parsing code alang sa ICMP nga mga mensahe nga nadawat isip tubag sa usa ka hangyo sa pagsusi. Ang code alang sa pagpadala ug pagdawat sa mga mensahe sa ICMP sa ping naggamit sa hilaw nga mga socket ug gipatuman nga adunay taas nga mga pribilehiyo (ang utility moabut uban ang setuid root flag). Ang tubag giproseso sa ping nga bahin pinaagi sa pagtukod pag-usab sa IP ug ICMP header sa mga pakete nga nadawat gikan sa hilaw nga socket. Ang gikuha nga IP ug ICMP header gikopya sa pr_pack() function ngadto sa buffers, walay sapayan sa kamatuoran nga ang dugang nga extended header mahimong anaa sa packet human sa IP header.

Ang ingon nga mga ulohan gikuha gikan sa pakete ug gilakip sa block sa header, apan wala gikonsiderar kung gikalkula ang gidak-on sa buffer. Kung ang host, agig tubag sa usa ka gipadala nga hangyo sa ICMP, ibalik ang usa ka pakete nga adunay dugang nga mga ulohan, ang mga sulud niini isulat sa lugar sa gawas sa utlanan sa buffer sa stack. Ingon usa ka sangputanan, ang tig-atake mahimong mag-overwrite hangtod sa 40 bytes nga datos sa stack, nga mahimo’g tugotan ang iyang code nga ipatuman. Ang kapeligrohan sa problema gipagaan sa kamatuoran nga sa panahon sa pagpakita sa kasaypanan, ang proseso anaa sa usa ka kahimtang sa pag-inusara sa mga tawag sa sistema (kapabilidad mode), nga nagpalisud sa pag-angkon sa access sa uban nga mga sistema. human sa pagpahimulos sa kahuyang.

Source: opennet.ru

Idugang sa usa ka comment