Бесплатно Экспресс-аудит сайта:

07.12.2022

Критическая уязвимость в утилите ping позволяет хакерам захватывать системы на FreeBSD

Разработчики FreeBSD выпустили обновления для устранения критической уязвимости в утилите ping, которая отслеживается как CVE-2022-23093 и может быть использована для удаленного выполнения кода. Брешь в защите вызвана переполнением буфера при обработке входящих ICMP-сообщений. Как выяснили разработчики FreeBSD, функция pr_pack(), которая копирует выделенные IP- и ICMP-заголовки в буферы стека для дальнейшей обработки. При этом она не учитывает что в пакете после заголовка IP могут присутствовать дополнительные расширенные заголовки. Если такие все же будут, то pr_pack() перезапишет до 40 байт в стеке.

Успешная эксплуатация уязвимости может привести к сбоям в работе утилиты, а также позволяет удаленному хакеру выполнить произвольный код с root-привилегиями. Это работает так из-за того, что для отправки и приёма ICMP-сообщений ping использует raw-сокеты и выполняется с повышенными привилегиями (утилита поставляется с флагом setuid root).

Как говорят сопровождающие FreeBSD, опасность CVE-2022-23093 значительно снижает то, что ping запускается в состоянии изоляции системных вызовов, что не дает с легкостью получить доступ к системе после эксплуатации уязвимости.

Известно, что уязвимости подвержены все существующие версии FreeBSD. Исправление включено в обновления 13.1-RELEASE-p5, 12.4-RC2-p2 и 12.3-RELEASE-p10.