Поиск по сайту:

Беспокоитесь об этой критической ошибке RCE Linux? Вот почему вы можете расслабиться

Да, в OpenPrinting CUPS, который Linux, Chrome OS, MacOS и некоторые системы Unix используют для печати, есть дыры в безопасности, но это не так уж и плохо. Вот как проверить, находитесь ли вы в группе риска.

На этой неделе люди в кругах Linux были обеспокоены.

В понедельник итальянский программист Симоне Маргарителли, известный под ником @evilsocket, заявил, что существует неаутентифицированное удаленное выполнение кода (RCE) с оценкой общей системы оценки уязвимостей (CVSS) 9,9, которое можно использовать против всех систем Linux.

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

Имейте в виду, я сказал «должным образом закреплен». Похоже, что многие — на самом деле сотни тысяч — не заблокированы должным образом. Как написал Маргарителли в своем блоге: «Я сканировал весь общедоступный диапазон IPv4 Интернета несколько раз в день в течение нескольких недель, отправляя UDP-пакеты и регистрируя все обратное подключение. И у меня есть обратные соединения от сотен тысяч устройств. ."

Позвольте мне начать с объяснения, что проблема не в Linux как таковом. Это программа печати OpenPrinting CUPS. CUPS — это система с открытым исходным кодом, которая использует протокол Интернет-печати (IPP) для управления принтерами, запросами на печать и очередями печати. Когда он установлен и запущен, он позволяет компьютерам выступать в качестве серверов печати.

Как объяснил Маргарителли, проблема заключается в том, что при правильном использовании «удаленный злоумышленник, не прошедший проверку подлинности, может незаметно заменить URL-адреса IPP существующих принтеров (или установить новые) на вредоносные, что приведет к выполнению произвольной команды (на компьютере) при печати». задание запускается (с этого компьютера)».

В своем бюллетене по безопасности CUPS Red Hat объяснила, что для его использования необходимо выполнить следующие условия:

  1. Служба просмотра чашек была включена или запущена вручную.

  2. Злоумышленник имеет доступ к уязвимому серверу, который:

    1. Обеспечивает неограниченный доступ, например, к общедоступному Интернету или

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

  3. Злоумышленник рекламирует вредоносный IPP-сервер, тем самым подготавливая вредоносный принтер.

  4. Потенциальная жертва пытается выполнить печать с вредоносного устройства.

  5. Злоумышленник выполняет произвольный код на компьютере жертвы.

С чего начать? Во-первых, кто в здравом уме выведет компьютер в Интернет с неограниченным доступом?

Мне также любопытно, почему такой компьютер доверял локальным соединениям. Забудьте о CUPS; это просто просьба взломать ваш сервер и все в вашей сети.

Это не проблема 9.9. Red Hat и все другие дистрибутивы Linux, устраняющие этот связанный набор дыр в безопасности, считают его важным. Отдельные оценки CVE CVSS для четырех ошибок варьируются от 6,1 до 8,2.

Как написал в LinkedIn Илкка Турунен, полевой технический директор компании Sonatype, занимающейся цепочками поставок с открытым исходным кодом: «Хорошие новости — это RCE, но с некоторыми смягчениями, включая тот факт, что злоумышленнику необходимо иметь возможность подключаться к компьютеру через UDP, который широко отключен при входе в сеть, и эта служба обычно не включена по умолчанию. Похоже, что реальное влияние невелико».

Мне это кажется справедливым.

Это классический пример службы, которая не проверяет и не очищает свои входные данные. Классический мультяшный пример такого рода эксплойта — Little Bobby Tables. Предпринимаются попытки остановить этот вид эксплойта в CUPS, но финальные патчи еще не написаны.

https://xkcd.com/327/

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

Это не круто, ребята. Совсем не круто.

Как узнать, используете ли вы CUPS

На данный момент исправление состоит в том, чтобы проверить, используете ли вы CUPS с помощью такой команды, как:

sudo systemctl status cups-browsed

Если он не работает, все готово. Без проблем.

Если да, и вам не нужно, чтобы ваша машина была сервером печати, запустите:

sudo systemctl stop cups-browsed

Что остановит проблему на своем пути. Чтобы остановить его повторный запуск, запустите:

sudo systemctl disable cups-browsed

Ради бога, если у вас есть голый сервер, работающий в Интернете, остановите его! Установите на эту штуку брандмауэр и, в частности, заблокируйте любой внешний трафик к порту 631, порту IPP по умолчанию.

Допустим, у вас есть загруженный сервер печати за брандмауэром. Ты из леса? Нет, это не так. Кто-то в вашей локальной сети, которому необходим доступ к порту 631 для печати документов, может атаковать сервер.

В этом случае вам необходимо отредактировать файл /etc/cups/cups-browsed.conf. В частности, вы должны установить для значений директивы BrowseRemoteProtocols значение «dnssd cups» по умолчанию на «none». Затем перезапустите службу просмотра чашек с помощью команды:

sudo systemctl restart cups-browsed

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

Статьи по данной тематике