Удалено експлоатирана root-уязвимост в утилитата ping, предоставена в FreeBSD

В FreeBSD е открита уязвимост (CVE-2022-23093) в утилитата ping, която е част от основната доставка. Проблемът може потенциално да доведе до отдалечено изпълнение на код с права root при проверка на външен хост, контролируем от злонамерен потребител. Поправка е предложена в ъпдейтите FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 и 12.3-RELEASE-p10. Не е ясно дали други BSD системи са засегнати от откритата уязвимост (към момента няма доклади за уязвимост в NetBSD, DragonFlyBSD и OpenBSD).

Уязвимостта е причинена от преливане на буфер в кода за обработка на ICMP съобщения, получавани в отговор на проверъчния запит. Кодът за изпращане и получаване на ICMP съобщения в ping използва raw сокети и се изпълнява с повишени привилегии (утилитата се предоставя с флага setuid root). Обработката на отговори се извършва от ping чрез реконструкция на IP и ICMP заглавията на пакетите, получавани от raw-сокета. Извлечените IP и ICMP заглавия се копират от функцията pr_pack() в буфери, без да се взема предвид, че в пакета след IP заглавието могат да присъстват допълнителни разширени заглавия.

Подобни заглавия се извличат от пакета и се включват в блока на заглавията, но не се вземат предвид при изчисляването на размера на буфера. В случай, че хостът в отговор на изпратения ICMP запит върне пакет с допълнителни заглавия, тяхното съдържание ще бъде записано в област извън границата на буфера в стека. В резултат на това атакуващият може да презапише до 40 байта данни в стека, което потенциално позволява изпълнението на своя код. Опасността от проблема е смекчена от факта, че в момента на проявата на грешката, процесът е в режим на изолация на системни повици (capability mode), което затруднява достъпа до останалата част от системата след експлоатацията на уязвимостта.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster