Критическая уязвимость в Unix-системе печати CUPS затрагивает миллионы Linux-систем по всему миру

ИБ-исследователь обнаружил, что при определенных обстоятельствах злоумышленники могут использовать ряд уязвимостей в компонентах принт-сервера CUPS (Common UNIX Printing System), что приведет к удаленному выполнению произвольного кода на уязвимых машинах. Об этом сообщает портал Хакер.ru

Уязвимости получили идентификаторы CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) и CVE-2024-47177 (cups-filters), и были обнаружены итальянским ИБ-специалистом Симоне Маргарителли (Simone Margaritelli).

CUPS представляет собой популярный сервер печати для Linux-систем, а также поддерживается на устройствах под управлением Unix-подобных операционных систем, таких как FreeBSD, NetBSD, OpenBSD и так далее.

Корень проблемы кроется в одном из компонентов CUPS — демоне cups-browsed, который ищет в локальной сети сетевые или совместно используемые принтеры и позволяет использовать их для печати. Маргарителли обнаружил, что если демон cups-browsed включен (по умолчанию он отключен в большинстве систем), то он прослушивает UDP-порт 631. Кроме того, по умолчанию он разрешает удаленные подключения с любого устройства в сети для создания нового принтера.

Оказалось, что атакующий может развернуть собственный IPP-сервер и создать вредоносный PostScript Printer Description (PPD) принтера, который можно вручную прорекламировать для cups-browsed, работающего на UDP-порту 631. В результате удаленная машина автоматически установит вредоносный принтер и сделает его доступным для печати. И если пользователь выполнит печатать на этом новом принтере, вредоносная команда будет выполнена на машине жертвы.

Команда, выполняемая во время печати, добавляется при помощи фильтра foomatic-rip, который выполняет команды на устройстве для корректного отображения задания печати.

Несмотря на то, что речь идет об удаленном выполнении произвольного кода, для успешной реализации такой атаки злоумышленнику придется преодолеть ряд ограничений. Так, на целевых системах должен быть активен демон cups-browsed, что откроет UDP-порты, но демон обычно не включен по умолчанию. Также злоумышленник должен каким-то образом вынудить пользователя воспользоваться печатью с помощью внезапно появившегося в системе вредоносного принт-сервера.

«Это целая цепочка багов, которые основаны на спуфинге принтера в локальной сети, который автоматически добавляется через сетевое обнаружение, если это вообще возможно (обычно не в конфигурации по умолчанию). Затем вводится неизвестная переменная, которая используется для эксплуатации других уязвимостей в CUPS и для выполнения кода, но только при запуске заданий печати, — объясняет CTO компании Sonatype Илкка Турунен (Ilkka Turunen). — Хорошие новости — это RCE, но с несколькими смягчающими обстоятельствами, включая тот факт, что атакующий должен иметь возможность подключиться к компьютеру через UDP (что обычно ограничено для входящего трафика), а служба обычно неактивна по умолчанию. Похоже, что в реальности последствия будут невелики».

Как отмечает издание Bleeping Computer, в ходе тестов удалось обнаружить, что на большинстве Linux-серверов служба действительно не включена по умолчанию, хотя она оказалась активна на одной из проверенных виртуальных машин Ubuntu. Пользователи в соцсетях тоже сообщают, что им удалось обнаружить включенный по умолчанию cups-browsed на некоторых Linux-устройствах.

Так как патчи пока находятся в разработке, разработчики Red Hat уже поделились методами, которые следует использовать для снижения рисков.

Так, администраторам рекомендуется остановить работу cups-browsed и запретить запуск службы при перезагрузке:

sudo systemctl stop cups-browsed

sudo systemctl disable cups-browsed

Также пользователи Red Hat могут использовать следующую команду, чтобы узнать, запущен ли cups-browsed вообще: sudo systemctl status cups-browsed.

Маргарителли в своей статье советует заблокировать доступ к UDP-порту 631 и рассмотреть возможность блокировки DNS-SD. Дело в том, что если порт 631 недоступен напрямую, злоумышленник может использовать спуфинг zeroconf, mDNS или DNS-SD. Но подробности об этих методах атаки и других проблемах исследователь обещает раскрыть позднее.

Примечательно, что Маргарителли столкнулся с рядом трудностей при сообщении об уязвимости в CUPS. Несмотря на серьёзность обнаруженной проблемы, которую подтвердили такие компании, как Canonical и Red Hat, разработчики CUPS неохотно принимали информацию о найденных ошибках.

По словам Маргарителли, вместо быстрого устранения уязвимостей они предпочли спорить о том, влияют ли некоторые из них на безопасность, и проявляли снисходительное отношение к замечаниям исследователя. Маргарителли считает эту ситуацию примером того, как не следует обращаться с разглашением уязвимостей, и подчёркивает повышенную ответственность разработчиков программного обеспечения, которое работает более 20 лет на множестве устройств по всему миру.

Пока необходимые патчи для устранения угрозы не выпущены, рекомендуется принять предлагаемые меры для минимизации рисков.

С заботой о вашей безопасности, команда Origin Security

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *