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

Все сообщения об уязвимости и баги:

OpenPrinting также начала публиковать исправления:

Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм — Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано.

Ждем всех, присоединяйтесь

Комментарии (25)


  1. tbl
    27.09.2024 11:36
    +14

    Т.е. уязвимости присвоена оценка 9.9 баллов, для эксплуатации которой необходима данная комбинация условий:

    1. Нестандартная конфигурация cups

    2. Сетевой доступ к 631 порту компьютера

    3. Методы социальной инженерии


    1. chupasaurus
      27.09.2024 11:36

      Нашедший уязвимости на данный момент опубликовал описание только того, что утекло в паблик.


      1. tbl
        27.09.2024 11:36
        +1

        Судя по его посту в блоге, он хотел похайпиться, а так же не очень понимает, как оценивать CVSS score


        1. Sulerad
          27.09.2024 11:36

          он хотел похайпиться

          Не без этого, но всё-таки он скорее хотел привлечь внимание к уязвимости, потому что трёхнедельная переписка с разработчикам никаких плодов не дала.

          не очень понимает, как оценивать CVSS score

          Поэтому и ссылается на инженеров из RedHat, именно которые и нарисовали цифру 9.9. Откуда они это взяли — тот ещё вопрос, но видимо по каким-то формальным критериям сильно выстрелило.


    1. inkvizitor68sl
      27.09.2024 11:36
      +1

      Нестандартная конфигурация cups

      Да вот как раз проблема в том, что стандартная (до апдейтов в дистрибутивах - https://ubuntu.com/security/CVE-2024-47176)

      Cетевой доступ к 631 порту компьютера

      NAT - не файрволл


      1. tbl
        27.09.2024 11:36

        но это точно на 9.9 не тянет, даже у убунты оно помечено как medium


      1. equeim
        27.09.2024 11:36

        Как минимум в дестктопных Fedora и openSUSE по умолчанию включен фаерволл в котором этот порт закрыт


        1. inkvizitor68sl
          27.09.2024 11:36
          +2

          Для локалхоста-то он не закрыт.
          А отправить пакет на локалхост в наше время не проблема, тем более в линуксе.


      1. dv0ich
        27.09.2024 11:36

        Для убунты, может, и стандартная. В Arch-based это не работает, в openSUSE не работает, в Fedora - не работает.


        1. jackchickadee
          27.09.2024 11:36
          +1

          на импортозащемленном астма линуксе (deb-based) не работает. завидуйте молча.
          впрочем я оттуда убираю все что связано с avahi, mDNS и прочей сетевой дружбомагией,
          (возможно убрался и cups-browsed), как и предписывает нам концепция zero trust.


          1. isden
            27.09.2024 11:36

            убираю все что связано с avahi, mDNS

            Я раньше тоже всегда убирал. Но, копаясь с локальным синком Anytype, проникся концепцией и фичами. Естественно, это можно оставлять только в доверенной локалке.


            1. jackchickadee
              27.09.2024 11:36

              копаясь с локальным синком Anytype

              это оно https://anytype.io/faq ? на выброс не глядя.

              только в доверенной локалке.

              повторно: концепция zero trust как бы намекает нам, что никаких доверенных локалок не существует.
              кстати гадить в сеть мультикастами тоже нехорошая идея.


              1. isden
                27.09.2024 11:36
                +1

                на выброс не глядя.

                Можете обосновать?

                никаких доверенных локалок не существует

                Если пойти этой дорогой, то и доверенных вычислительных устройств не существует. Вы когда последний раз изучали исходный код прошивки биоса или обвязки на материнке? А ядра операционной системы и всего используемого вами софта?

                кстати гадить в сеть мультикастами тоже нехорошая идея.

                А этим уже ваш маршрутизатор должен заниматься. IGMP snooping, multicast to unicast, вот это вот все.


                1. jackchickadee
                  27.09.2024 11:36

                  Можете обосновать?

                  1. на морде слишком много буллшита за все хорошее против всего плохого.

                  2. клиент написан на TypeScript, что тот же Javascript, т.е. тормоза будут.

                  3. гадит в сеть мультикастами.

                  4. код серверов не доступен, чем напоминет дуровграм.

                  Если пойти этой дорогой, то и доверенных вычислительных устройств не существует.

                  reductio ad absurdum - отличный аргумент.

                  А этим уже ваш маршрутизатор должен заниматься

                  кому он должен всем простил. а мне проще не усложнять и выкинуть.


                  1. isden
                    27.09.2024 11:36
                    +1

                    на морде слишком много буллшита за все хорошее против всего плохого

                    Можете раскрыть мысль?

                    клиент написан на TypeScript, что тот же Javascript, т.е. тормоза будут

                    У меня на старом ноуте с процессором, выпущенным в Q3'12 работает отлично.

                    гадит в сеть мультикастами

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

                    reductio ad absurdum - отличный аргумент.

                    Немного не в тему.

                    кому он должен всем простил. а мне проще не усложнять и выкинуть.

                    Ну т.е. базовые настройки не можете подкрутить, проще выкинуть?


                    1. jackchickadee
                      27.09.2024 11:36

                      Можете раскрыть мысль?

                      по-моему все очевидно. какие слова вам непонятны ?

                      Многое гадит в сеть мультикастами.

                      "многое" - это преувеличение.

                      Для этого у вас есть маршрутизатор

                      можете считать что его нет. или что он неуправляемый,
                      а все хосты подключены к Интернету напрямую и имеют реальные IP адреса.

                      А еще это штатный режим работы в некоторых случаях,

                      и не подлежащий перенастройке ? если да то на выброс.

                      типа потокового видео

                      было актуально во времена MBONE, сейчас заглохло. и слава Омниссии.

                      или детект всяких умных дивайсов.

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


                      1. isden
                        27.09.2024 11:36
                        +1

                        по-моему все очевидно. какие слова вам непонятны ?

                        Слова то понятны, но они не складываются в какую-то мысль.

                        на морде слишком много буллшита за все хорошее против всего плохого

                        Что это значит? Слишком много элементов управления? Или что?

                        "многое" - это преувеличение.

                        Вы таки не поверите. NAS, телевизоры, сетевые принтеры, умные устройства и т.п.

                        можете считать что его нет. или что он неуправляемый,а все хосты подключены к Интернету напрямую и имеют реальные IP адреса.

                        Если у вас не организована локальная сеть, то и обсуждаемый сабж вам не нужен в принципе. Но это не значит что у всех так.

                        Дальше пошли какие-то набросы, которые я комментировать не буду. Не нужен вам мультикаст, не пользуйтесь. Я вас не заставляю.


      1. tbl
        27.09.2024 11:36

        Почему тогда всем уязвимостям SMB, при условии открытых на распашку портов 137-139 и 445 не выставляли 9,9 в cvss? https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=SMB Или это другое?


        1. inkvizitor68sl
          27.09.2024 11:36

          Потому что SMB не установлена по дефолту на 50+% десктопных линуксов, думаю.

          9.9 снимут, но дырка достаточно опасная.

          Похожа на ту, где можно было в DHCP сунуть опции и выполнить код на ноуте.


          1. tbl
            27.09.2024 11:36

            Потому что SMB не установлена по дефолту на 50+% десктопных линуксов, думаю.

            Так и CUPS не установлен на 50+% серверных windows, а про десктопные и упоминать не буду. А SMB по дефолту везде в windows стоит и запущена из коробки. И надо предпринять дополнительные усилия, чтобы это заглушить


    1. Yami-no-Ryuu
      27.09.2024 11:36

      Я так понял 2 ИЛИ 3. Фейковый принтер или открытый порт.


  1. ayrtonSK
    27.09.2024 11:36
    +4

    А хоть в одной linux cups включен по умолчанию?

    Как мне кажется 9.9 это уже когда у тебя есть универсальный root пароль...


  1. 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 ]


  1. sulik13
    27.09.2024 11:36

    >Критическая уязвимость с оценкой CVSS 9,9 обнаружена в GNU/Linux

    Заголовок неадекватный на 100%. Либо статья слишком путанная (если 9.9 дырка не в купсе)


  1. Aqaus
    27.09.2024 11:36

    Серверный debian

    Unit cups-browsed.service could not be found.

    На серверах выходит нет этой уязвимости?