Недавно была обнаружена новая уязвимость в широко используемом сервере печати, который по умолчанию установлен во многих системах с графическим интерфейсом пользователя на базе 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.