Недавно была обнаружена новая уязвимость в широко используемом сервере печати, который по умолчанию установлен во многих системах с графическим интерфейсом пользователя на базе Linux и Unix. Основным вектором атаки для этой уязвимости является планировщик печати CUPS (Common Cell Printing System), в частности, Cups-Browsed, который потенциально может выполнять удаленный код без необходимости взаимодействия с пользователем.

По имеющимся данным, RHEL и Canonical присвоили уязвимости оценку CVSS 9,9, но эта оценка вызвала горячие споры, причем некоторые утверждают, что ей следует присвоить более низкую оценку, поскольку, хотя код можно удаленно загрузить в систему, он не может быть выполнен без вмешательства пользователя. К счастью, нет никаких доказательств того, что уязвимость была использована, хотя раскрытие информации просочилось в Интернет раньше запланированного на октябрь частного раскрытия, что побудило разработчика, обнаружившего ее, опубликовать полное объяснение в своем блоге. В этом случае злоумышленники, скорее всего, начнут использовать уязвимость.

Согласно длинному сообщению в блоге исследователя Симоны Маргарителли, сервисы, связанные с системой печати CUPS, уязвимы для удаленного выполнения кода. По сути, атакующая система обманом заставляет планировщик печати поверить в то, что это принтер, и отправляет вредоносное ПО (потенциально произвольный исполняемый код), замаскированное под файл конфигурации принтера. Этот процесс не требует вмешательства пользователя, поскольку CUPS примет любой пакет, отправленный через порт *:631.

брифинг:

  • CVE-2024-47176|cups-browsed<=2.0.1 привязывается к UDPINADDR_ANY:631, доверяя любому пакету из любого источника инициировать IPP-запрос Get-Printer-Attributes к URL-адресу, контролируемому злоумышленником.

  • CVE-2024-47076|libcupsfilters<=2.1b1cfGetPrinterAttributes5 не проверяет и не очищает атрибуты IPP, возвращаемые с сервера IPP, предоставляя контролируемые злоумышленником данные другим частям системы CUPS.

  • CVE-2024-47175|libppd<=2.1b1ppdCreatePPDFromIPP2 не проверяет и не очищает атрибуты IPP при записи их во временный файл PPD, что позволяет вводить контролируемые злоумышленником данные в сгенерированный PPD.

  • CVE-2024-47177|cup-filters<=2.0.1foomatic-rip позволяет выполнять произвольные команды через параметр FoomaticRIPCommandLinePPD.

  • Конкретный эксплойт основан на большом количестве неисправленных уязвимостей, некоторым из которых более десяти лет, поэтому это особенно беспокоит пользователей систем на базе Linux или Unix. Чтобы этот вектор атаки работал, в системе должны быть установлены и запущены CUPS (Common Unix Printing System) и возможность просмотра чашек, что во многих системах используется по умолчанию. По словам Маргарителли, в настоящее время существует от 200 000 до 300 000 систем, подключенных к Интернету и предоставляющих услуги печати, но Shodan сообщает (см. снимок экрана выше), что существует около 76 000 систем с открытыми портами CUPS и подключенными к Интернету.

    Хотя исследователи утверждают, что затронуто большинство дистрибутивов GNU/Linux, а также, возможно, ChromeOS и macOS, следует отметить, что это не конфигурация по умолчанию для многих дистрибутивов Linux и особенно не должна быть конфигурацией каких-либо крупных серверов или центров обработки данных, а это означает, что наибольшую целевую группу будут составлять пользователи частных ПК, работающие под управлением Linux.