Távolról kihasználható gyökér sérülékenység a FreeBSD-hez tartozó ping segédprogramban

A FreeBSD-ben egy biztonsági rést (CVE-2022-23093) azonosítottak az alap disztribúcióban található ping segédprogramban. A probléma távoli kódfuttatáshoz vezethet root jogosultságokkal, amikor egy támadó által vezérelt külső gazdagépet pingelnek. A FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 és 12.3-RELEASE-p10 frissítései javítottak. Egyelőre nem világos, hogy más BSD rendszereket érint-e az azonosított biztonsági rés (még nem érkezett jelentés a NetBSD, DragonFlyBSD és OpenBSD sebezhetőségeiről).

A sérülékenységet a puffertúlcsordulás okozza az ellenőrzési kérelemre válaszul kapott ICMP-üzenetek elemzési kódjában. Az ICMP-üzenetek ping-ben történő küldésére és fogadására szolgáló kód nyers socketeket használ, és emelt jogosultságokkal fut (a segédprogram a setuid root jelzővel érkezik). A válasz feldolgozása a ping oldalon a nyers socketből kapott csomagok IP és ICMP fejléceinek rekonstrukcióján keresztül történik. A kiválasztott IP- és ICMP-fejléceket a pr_pack() pufferekbe másolja, anélkül, hogy figyelembe venné, hogy az IP-fejléc után további kiterjesztett fejlécek lehetnek a csomagban.

Az ilyen fejléceket a csomagból kivonják és a fejlécblokkba foglalják, de nem veszik figyelembe a puffer méretének kiszámításakor. Ha a gazdagép egy elküldött ICMP-kérésre válaszul egy csomagot ad vissza további fejlécekkel, akkor azok tartalma a verem pufferhatárán túli területre kerül. Ennek eredményeként a támadó akár 40 bájtnyi adatot is felülírhat a veremben, ami potenciálisan lehetővé teszi kódja végrehajtását. A probléma súlyosságát mérsékli, hogy a hiba bekövetkeztekor a folyamat rendszerhívás-elszigetelt állapotban van (képesség mód), ami megnehezíti a rendszer többi részéhez való hozzáférést a sérülékenység kihasználása után. .

Forrás: opennet.ru

Hozzászólás