Urrutitik ustiatu daitekeen erroaren ahultasuna FreeBSD-rekin barne dagoen ping utilitatean

FreeBSD-n, oinarrizko banaketan sartutako ping utilitatean ahultasun bat (CVE-2022-23093) identifikatu da. Arazoak erro-pribilegioekin urruneko kodea exekutatzea ekar dezake erasotzaile batek kontrolatutako kanpoko ostalari bati ping egitean. FreeBSD eguneraketetan konponketa bat eman zen 13.1-RELEASE-p5, 12.4-RC2-p2 eta 12.3-RELEASE-p10. Oraindik ez dago argi identifikatutako ahultasunarekin beste BSD sistemek eragiten duten (oraindik ez dago NetBSD, DragonFlyBSD eta OpenBSD ahultasunen berririk).

Zaurgarritasuna egiaztapen-eskaera bati erantzunez jasotako ICMP mezuen analisi-kodean buffer gainezkatzeak eragiten du. Ping-en ICMP mezuak bidaltzeko eta jasotzeko kodeak socket gordinak erabiltzen ditu eta pribilegio handiekin exekutatzen da (erabilgarritasuna setuid root banderarekin dator). Erantzuna ping aldean prozesatzen da socket gordinetik jasotako paketeen IP eta ICMP goiburuen berreraikuntzaren bidez. Hautatutako IP eta ICMP goiburuak bufferetan kopiatzen ditu pr_pack(ek), IP goiburuaren ondoren paketean goiburu hedatu gehigarriak egon daitezkeela kontuan hartu gabe.

Horrelako goiburuak paketetik ateratzen dira eta goiburuko blokean sartzen dira, baina ez dira kontuan hartzen bufferaren tamaina kalkulatzeko. Ostalariak, bidalitako ICMP eskaera bati erantzunez, goiburu osagarriekin pakete bat itzultzen badu, haien edukia pilako buffer-en mugatik haratago dagoen eremu batean idatziko da. Ondorioz, erasotzaile batek 40 byte arteko datuak gainidatzi ditzake pilan, eta baliteke bere kodea exekutatzeko aukera emanez. Arazoaren larritasuna arintzen da errorea gertatzen den unean, prozesua sistema-deien isolamendu egoeran dagoelako (gaitasun-modua), eta horrek zaildu egiten du ahultasuna ustiatu ondoren gainerako sistemarako sarbidea lortzea. .

Iturria: opennet.ru

Gehitu iruzkin berria