Eksternt utnyttbar rotsårbarhet i ping-verktøyet inkludert i FreeBSD

I FreeBSD har en sårbarhet (CVE-2022-23093) blitt identifisert i ping-verktøyet inkludert i den grunnleggende distribusjonen. Problemet kan potensielt føre til ekstern kjøring av kode med root-privilegier når du pinger en ekstern vert kontrollert av en angriper. En rettelse ble gitt i FreeBSD-oppdateringene 13.1-RELEASE-p5, 12.4-RC2-p2 og 12.3-RELEASE-p10. Det er ennå ikke klart om andre BSD-systemer er påvirket av den identifiserte sårbarheten (det er ingen rapporter om sårbarheter i NetBSD, DragonFlyBSD og OpenBSD ennå).

Sårbarheten er forårsaket av et bufferoverløp i parsingskoden for ICMP-meldinger mottatt som svar på en verifiseringsforespørsel. Koden for å sende og motta ICMP-meldinger i ping bruker rå-sockets og utføres med forhøyede rettigheter (verktøyet kommer med setuid-rotflagget). Svaret behandles på ping-siden gjennom rekonstruksjonen av IP- og ICMP-hodene til pakkene som mottas fra råkontakten. De valgte IP- og ICMP-hodene kopieres til buffere av pr_pack(), uten å ta hensyn til at ytterligere utvidede overskrifter kan være tilstede i pakken etter IP-hodet.

Slike overskrifter trekkes ut fra pakken og inkluderes i overskriftsblokken, men tas ikke i betraktning når bufferstørrelsen beregnes. Hvis verten, som svar på en sendt ICMP-forespørsel, returnerer en pakke med ekstra overskrifter, vil innholdet deres bli skrevet til et område utenfor buffergrensen på stabelen. Som et resultat kan en angriper overskrive opptil 40 byte med data på stabelen, noe som potensielt lar koden deres kjøres. Alvorlighetsgraden av problemet reduseres av det faktum at på det tidspunktet feilen oppstår, er prosessen i en tilstand av systemanropsisolering (kapasitetsmodus), noe som gjør det vanskelig å få tilgang til resten av systemet etter å ha utnyttet sårbarheten .

Kilde: opennet.ru

Legg til en kommentar