Експерти з кібербезпеки виявили серію критичних вразливостей у популярній системі друку CUPS (Common UNIX Printing System), які потенційно дозволяють зловмисникам віддалено виконувати довільний код на вразливих машинах. Ці вразливості становлять серйозну загрозу для безпеки Linux-систем та інших Unix-подібних операційних систем.
Деталі виявлених вразливостей
Італійський дослідник безпеки Сімоне Маргарителлі виявив чотири вразливості, яким присвоєно ідентифікатори CVE-2024-47076, CVE-2024-47175, CVE-2024-47176 та CVE-2024-47177. Вони зачіпають різні компоненти CUPS, включаючи libcupsfilters, libppd, cups-browsed та cups-filters.
Основна проблема пов’язана з демоном cups-browsed, який відповідає за пошук мережевих принтерів. При активації цього демона (зазвичай він вимкнений за замовчуванням) відкривається UDP-порт 631, що дозволяє віддалені підключення з будь-якого пристрою в мережі для створення нового принтера.
Механізм атаки
Зловмисник може розгорнути власний IPP-сервер та створити шкідливий опис принтера PostScript (PPD), який буде автоматично додано до системи жертви через cups-browsed. Якщо користувач спробує друкувати на цьому “принтері”, шкідливий код буде виконано на цільовій машині.
Обмеження та фактори ризику
Незважаючи на серйозність вразливостей, для успішної атаки потрібно подолати кілька перешкод:
- Демон cups-browsed має бути активним на цільовій системі (зазвичай вимкнений за замовчуванням)
- Зловмисник повинен мати доступ до локальної мережі жертви
- Користувач має спробувати друкувати на підробленому принтері
Ілкка Турунен, технічний директор компанії Sonatype, зазначає: “Це ланцюжок вразливостей, що базується на підміні принтера в локальній мережі. Хоча це і віддалене виконання коду, але з кількома пом’якшувальними факторами, включаючи те, що атакуючий повинен мати можливість підключитися до комп’ютера через UDP”.
Рекомендації щодо зниження ризиків
До випуску офіційних патчів експерти рекомендують такі заходи безпеки:
- Зупинити роботу cups-browsed та заборонити його автозапуск:
sudo systemctl stop cups-browsed sudo systemctl disable cups-browsed
- Перевірити статус cups-browsed:
sudo systemctl status cups-browsed
- Заблокувати доступ до UDP-порту 631
- Розглянути можливість блокування DNS-SD для запобігання альтернативним методам атаки
Ця ситуація підкреслює важливість регулярного оновлення систем та моніторингу нових вразливостей. Адміністраторам рекомендується уважно стежити за оновленнями безпеки CUPS та вживати необхідних заходів для захисту своїх систем. Користувачам слід бути обережними при використанні невідомих мережевих принтерів та дотримуватися базових правил кібергігієни.