Недавно была обнаружена критическая уязвимость, угрожающая всем системам GNU/Linux, которая позволяет выполнять код удаленно без аутентификации. Проблема затронула такие компании, как Canonical и Red Hat, и получила оценку 9.9 из 10 по шкале CVSS, что подтверждает её серьёзность. Пока патч не выпущен, разработчики и пользователи находятся в состоянии неопределенности, опасаясь возможных последствий.
В новом переводе от команды Spring АйО приводятся подробности о сроках раскрытия деталей уязвимости и предлагаются временные меры для защиты систем.
Известный исследователь в области безопасности Симоне Маргарителли обнаружил критическую уязвимость, затрагивающую все системы GNU/Linux (потенциально и другие), которая позволяет выполнять код удаленно без аутентификации (RCE). Компании Canonical и Red Hat подтвердили серьёзность уязвимости, присвоив ей оценку 9,9 из 10 по шкале CVSS.
Маргарителли сообщил об уязвимости три недели назад, но не раскрывал деталей, чтобы дать разработчикам время на исправление. Однако на данный момент рабочего патча всё еще нет. Раскрытие информации о деталях уязвимости запланировано следующим образом:
30 сентября: Рассылка в список безопасности Openwall.
6 октября: Полное публичное раскрытие деталей уязвимости.
Задержка в присвоении идентификатора CVE (Common Vulnerabilities and Exposures) вызывает вопросы. Маргарителли считает, что должно быть присвоено от трех до шести CVE из-за сложности проблемы.
Canonical и Red Hat подтвердили высокую серьезность уязвимости и работают над патчами. Однако, как сообщается, некоторые разработчики ведут споры о влиянии отдельных аспектов уязвимостей, что может способствовать задержке выпуска исправления.
Отсутствие подробной информации оставляет как отдельных пользователей, так и экспертов по безопасности в состоянии повышенной тревоги. Не зная, какие именно компоненты, функции или версии подвержены риску, организации не могут принять проактивные меры для защиты своих систем.
Кроме того, отсутствие присвоенного идентификатора CVE ставит под сомнение координацию и взаимодействие между исследователями в области безопасности, поставщиками и организациями, ответственными за ведение реестров уязвимостей.
Хотя оценка 9.9 по CVSS указывает на критическую серьезность, важно подходить к ситуации взвешенно. Не все уязвимости с высоким уровнем серьезности легко применить в реальных условиях. Например:
CVE-2024-7589: Уязвимость RCE через SSH, первоначально оцененная в 9.8, позже была пересмотрена до 8.1 из-за сложности её применения.
CVE-2024-38063: Уязвимость RCE в Windows с оценкой 9.8 привлекла большое внимание, но после тщательного анализа специалистами по безопасности была признана очень трудной для применения.
Эти примеры подчеркивают важность детального технического анализа для полного понимания влияния уязвимости.
Ожидая полного раскрытия деталей уязвимости и последующих патчей, пользователям и администраторам следует:
Следите за обновлениями от надежных источников и ожидайте официальных сообщений разработчиков.
Усильте текущие меры безопасности: брандмауэры, системы обнаружения вторжений.
Будьте готовы быстро установить патчи, когда они станут доступны.
UPD 1:
26 сентября – Новые обнаруженные уязвимости в CUPS, популярном сервере печати, используемом в Linux и на других платформах, вызвали беспокойство среди экспертов по безопасности. Уязвимости, обнаруженные Симоне Маргарителли и затрагивающие CUPS на разных операционных системах, включая дистрибутивы Linux, варианты BSD, Oracle Solaris и Google Chrome OS, могут позволить удаленным атакующим взять под контроль системы. С такими CVE, как CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 и CVE-2024-47177, администраторам рекомендуется действовать незамедлительно.
Маргарителли подробно описал в своем блоге, как эти ошибки позволяют удаленному неаутентифицированному атакующему заменить существующие URL-адреса IPP (Internet Printing Protocol) принтеров или установить новые вредоносные. Опасность в том, что произвольные команды могут выполняться на машине жертвы, когда она запускает задание печати.
Что делает эту уязвимость еще более тревожной, так это то, что эксплуатация может происходить удалённо через публичный интернет с помощью простого UDP-пакета на порт 631, если этот порт открыт на сетевом фаерволе. Благодаря этому возможны атаки внутри локальных сетей, где атакующие могут подделывать объявления zeroconf, mDNS или DNS-SD.
Хотя ядро Linux не затронуто, сервер печати CUPS широко используется в различных системах, что увеличивает потенциальное воздействие. На данный момент нет доступного патча для Linux, который бы устранял эту проблему, что оставляет многие системы уязвимыми.
Для эксплуатации этих уязвимостей необходимы следующие условия:
Служба cups-browsed должна быть вручную включена или запущена.
-
Злоумышленник должен иметь доступ к уязвимой системе через:
Неограниченный публичный доступ в интернет, или
Доступ к внутренней сети, где локальные подключения считаются доверенными.
Злоумышленник предоставляет вредоносный IPP-сервер, создавая поддельный принтер.
Пользователь на машине жертвы отправляет задание на печать на вредоносный принтер.
Злоумышленник использует эту возможность для выполнения произвольного кода на машине жертвы.
Эта цепочка событий приводит к удаленному выполнению кода, что может позволить злоумышленникам украсть конфиденциальную информацию или повредить критически важные системы. Еще более тревожно то, что атака может произойти без какого-либо взаимодействия, кроме отправки задания на печать со стороны жертвы, основываясь на доверии внутри локальной сети или используя общедоступные точки доступа.
Red Hat, одна из организаций, чьи системы затронуты этой группой уязвимостей, опубликовала подробный ответ. Red Hat классифицирует серьезность этих уязвимостей как "Important", хотя уточняет, что системы RHEL не уязвимы в своей стандартной конфигурации.
Чтобы проверить, подвержена ли ваша система риску, Red Hat рекомендует проверить статус cups-browsed:
$ sudo systemctl status cups-browsed
Если вывод показывает «Active: inactive (dead)», система не уязвима. Однако, если cups‑browsed запущен или включен, и директива BrowseRemoteProtocols включает в себя «cups», система уязвима.
Чтобы защитить системы от этих уязвимостей, администраторам рекомендуется остановить службу cups-browsed следующей командой:
$ sudo systemctl stop cups-browsed
Дополнительно, чтобы предотвратить запуск службы при перезагрузке, важно выполнить:
$ sudo systemctl disable cups-browsed
Блокировка трафика на UDP-порт 631: Если отключение cups-browsed невозможно, блокировка всего трафика на UDP-порт 631 может снизить риск.
$ sudo iptables -A INPUT -p tcp –dport 631 -j DROP
$ sudo iptables -A INPUT -p udp –dport 631 -j DROP
В средах, где печать не требуется, эти шаги следует выполнить немедленно, чтобы снизить риск атаки. Red Hat и другие вендоры в сообществе Linux активно работают над разработкой патчей для устранения уязвимостей, но до тех пор отключение cups-browsed и обновление CUPS являются лучшими мерами защиты.
UPD 2:
Маргарителли разработал Proof-of-Concept (PoC) для CVE-2024-47176, который доступен в GitHub Advisory. Еще один PoC, основанный на коммите в репозитории OpenPrinting CUPS, также был опубликован на GitHub.
По состоянию на 26 сентября Shodan.io показал более 75 000 интернет-доступных хостов работающих с CUPS. Поисковая система FOFA обнаружила более 270,000 уникальных IP-адресов, из которых почти 70,000 связаны непосредственно с IPP. Это указывает на значительное количество хостов с доступом из интернета, большинство из которых используют порт по умолчанию 631.
Все сообщения об уязвимости и баги:
https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8
https://github.com/OpenPrinting/libcupsfilters/security/advisories/GHSA-w63j-6g73-wmg5
https://github.com/OpenPrinting/libppd/security/advisories/GHSA-7xfx-47qg-grp6
https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-p9rh-jxmq-gq47
OpenPrinting также начала публиковать исправления:
CVE-2024-47175: https://github.com/OpenPrinting/libppd/commit/d681747ebf
CVE-2024-47076: https://github.com/OpenPrinting/libcupsfilters/commit/95576ec3
A temporary workaround for CVE-2024-47176 in: https://github.com/OpenPrinting/cups-browsed/commit/1debe6b140c
Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм — Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано.
Ждем всех, присоединяйтесь
Комментарии (25)
ayrtonSK
27.09.2024 11:36+4А хоть в одной linux cups включен по умолчанию?
Как мне кажется 9.9 это уже когда у тебя есть универсальный root пароль...
dv0ich
27.09.2024 11:36+1Очень хотел попаниковать, но лень собирать дырявый компонент :)
# emerge -s cups-browsed [ Results for search key : cups-browsed ] Searching... * net-print/cups-browsed Latest version available: 2.0.1 Latest version installed: [ Not Installed ] Size of files: 418 KiB Homepage: https://github.com/OpenPrinting/cups-browsed Description: helper daemon to browse for remote CUPS queues and IPP network printers License: Apache-2.0 [ Applications found : 1 ]
sulik13
27.09.2024 11:36>Критическая уязвимость с оценкой CVSS 9,9 обнаружена в GNU/Linux
Заголовок неадекватный на 100%. Либо статья слишком путанная (если 9.9 дырка не в купсе)
Aqaus
27.09.2024 11:36Серверный debian
Unit cups-browsed.service could not be found.
На серверах выходит нет этой уязвимости?
tbl
Т.е. уязвимости присвоена оценка 9.9 баллов, для эксплуатации которой необходима данная комбинация условий:
Нестандартная конфигурация cups
Сетевой доступ к 631 порту компьютера
Методы социальной инженерии
chupasaurus
Нашедший уязвимости на данный момент опубликовал описание только того, что утекло в паблик.
tbl
Судя по его посту в блоге, он хотел похайпиться, а так же не очень понимает, как оценивать CVSS score
Sulerad
Не без этого, но всё-таки он скорее хотел привлечь внимание к уязвимости, потому что трёхнедельная переписка с разработчикам никаких плодов не дала.
Поэтому и ссылается на инженеров из RedHat, именно которые и нарисовали цифру 9.9. Откуда они это взяли — тот ещё вопрос, но видимо по каким-то формальным критериям сильно выстрелило.
inkvizitor68sl
Да вот как раз проблема в том, что стандартная (до апдейтов в дистрибутивах - https://ubuntu.com/security/CVE-2024-47176)
NAT - не файрволл
tbl
но это точно на 9.9 не тянет, даже у убунты оно помечено как medium
equeim
Как минимум в дестктопных Fedora и openSUSE по умолчанию включен фаерволл в котором этот порт закрыт
inkvizitor68sl
Для локалхоста-то он не закрыт.
А отправить пакет на локалхост в наше время не проблема, тем более в линуксе.
dv0ich
Для убунты, может, и стандартная. В Arch-based это не работает, в openSUSE не работает, в Fedora - не работает.
jackchickadee
на импортозащемленном астма линуксе (deb-based) не работает. завидуйте молча.
впрочем я оттуда убираю все что связано с avahi, mDNS и прочей сетевой дружбомагией,
(возможно убрался и cups-browsed), как и предписывает нам концепция zero trust.
isden
Я раньше тоже всегда убирал. Но, копаясь с локальным синком Anytype, проникся концепцией и фичами. Естественно, это можно оставлять только в доверенной локалке.
jackchickadee
это оно https://anytype.io/faq ? на выброс не глядя.
повторно: концепция zero trust как бы намекает нам, что никаких доверенных локалок не существует.
кстати гадить в сеть мультикастами тоже нехорошая идея.
isden
Можете обосновать?
Если пойти этой дорогой, то и доверенных вычислительных устройств не существует. Вы когда последний раз изучали исходный код прошивки биоса или обвязки на материнке? А ядра операционной системы и всего используемого вами софта?
А этим уже ваш маршрутизатор должен заниматься. IGMP snooping, multicast to unicast, вот это вот все.
jackchickadee
на морде слишком много буллшита за все хорошее против всего плохого.
клиент написан на TypeScript, что тот же Javascript, т.е. тормоза будут.
гадит в сеть мультикастами.
код серверов не доступен, чем напоминет дуровграм.
reductio ad absurdum - отличный аргумент.
кому он должен всем простил. а мне проще не усложнять и выкинуть.
isden
Можете раскрыть мысль?
У меня на старом ноуте с процессором, выпущенным в Q3'12 работает отлично.
Многое гадит в сеть мультикастами. Для этого у вас есть маршрутизатор и его настройки. А еще это штатный режим работы в некоторых случаях, типа потокового видео или детект всяких умных дивайсов.
Немного не в тему.
Ну т.е. базовые настройки не можете подкрутить, проще выкинуть?
jackchickadee
по-моему все очевидно. какие слова вам непонятны ?
"многое" - это преувеличение.
можете считать что его нет. или что он неуправляемый,
а все хосты подключены к Интернету напрямую и имеют реальные IP адреса.
и не подлежащий перенастройке ? если да то на выброс.
было актуально во времена MBONE, сейчас заглохло. и слава Омниссии.
автодетект через бродкасты-мультикасты - та самая сетевая дружбомагия,
которой быть не должно в соответствии вы знаете с чем.
isden
Слова то понятны, но они не складываются в какую-то мысль.
Что это значит? Слишком много элементов управления? Или что?
Вы таки не поверите. NAS, телевизоры, сетевые принтеры, умные устройства и т.п.
Если у вас не организована локальная сеть, то и обсуждаемый сабж вам не нужен в принципе. Но это не значит что у всех так.
Дальше пошли какие-то набросы, которые я комментировать не буду. Не нужен вам мультикаст, не пользуйтесь. Я вас не заставляю.
tbl
Почему тогда всем уязвимостям SMB, при условии открытых на распашку портов 137-139 и 445 не выставляли 9,9 в cvss? https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=SMB Или это другое?
inkvizitor68sl
Потому что SMB не установлена по дефолту на 50+% десктопных линуксов, думаю.
9.9 снимут, но дырка достаточно опасная.
Похожа на ту, где можно было в DHCP сунуть опции и выполнить код на ноуте.
tbl
Так и CUPS не установлен на 50+% серверных windows, а про десктопные и упоминать не буду. А SMB по дефолту везде в windows стоит и запущена из коробки. И надо предпринять дополнительные усилия, чтобы это заглушить
Yami-no-Ryuu
Я так понял 2 ИЛИ 3. Фейковый принтер или открытый порт.