Fjärrutnyttjad rotsårbarhet i FreeBSDs pingverktyg

I FreeBSD har en sårbarhet (CVE-2022-23093) identifierats i pingverktyget som ingår i grunddistributionen. Problemet kan potentiellt leda till fjärrkörning av kod med root-privilegier vid ping av en extern värd som kontrolleras av en angripare. En fix tillhandahölls i FreeBSD-uppdateringarna 13.1-RELEASE-p5, 12.4-RC2-p2 och 12.3-RELEASE-p10. Det är ännu inte klart om andra BSD-system påverkas av den identifierade sårbarheten (det finns inga rapporter om sårbarheter i NetBSD, DragonFlyBSD och OpenBSD ännu).

Sårbarheten orsakas av ett buffertspill i parsningskoden för ICMP-meddelanden som tas emot som svar på en verifieringsbegäran. Koden för att skicka och ta emot ICMP-meddelanden i ping använder råa sockets och exekveras med förhöjda privilegier (verktyget kommer med setuid-rotflaggan). Svaret bearbetas på pingsidan genom rekonstruktionen av IP- och ICMP-huvudena för paketen som tas emot från råsocket. De valda IP- och ICMP-huvudena kopieras till buffertar av pr_pack(), utan att ta hänsyn till att ytterligare utökade rubriker kan finnas i paketet efter IP-huvudet.

Sådana rubriker extraheras från paketet och ingår i rubrikblocket, men tas inte med i beräkningen vid beräkning av buffertstorleken. Om värden, som svar på en skickad ICMP-förfrågan, returnerar ett paket med ytterligare rubriker, kommer deras innehåll att skrivas till ett område bortom buffertgränsen på stacken. Som ett resultat kan en angripare skriva över upp till 40 byte med data på stacken, vilket potentiellt tillåter att deras kod körs. Problemets svårighetsgrad mildras av det faktum att vid den tidpunkt då felet inträffar befinner sig processen i ett tillstånd av systemanropsisolering (kapacitetsläge), vilket gör det svårt att få åtkomst till resten av systemet efter att ha utnyttjat sårbarheten .

Källa: opennet.ru

Lägg en kommentar