В Linux TIPC пропатчили RCE-уязвимость, привнесенную 5,5 лет назад

Новая уязвимость, выявленная в модуле TIPC ядра Linux, позволяет удаленно вызвать в системе состояние отказа в обслуживании (DoS), а также выполнить вредоносный код с высокими привилегиями. Обновления с патчем для ОС версий 4 и 5 вышли неделю назад.

Проблему TIPC, связанную с переполнением буфера стека (CVE-2022-0435), эксперт Appgate Сэмьюэл Пейдж (Samuel Page) обнаружил, когда искал способ исполнить сторонний код в Linux с помощью недавно опубликованной CVE-2021-43267 (все созданные PoC пока годятся лишь для локального повышения привилегий).

Оказалось, что находка позволяет спровоцировать панику ядра, приводящую к DoS, а в отсутствие надежной защиты от эксплойта (контроль целостности стека, KASLR) — подменить поток управления произвольной полезной нагрузкой. Уязвимость можно использовать локально или удаленно, но только при работающем TIPC.

Виновником уязвимости является фреймворк для мониторинга узлов в кластере (эта возможность появилась в Linux в июне 2016 года, с выходом версии ядра 4.8), а точнее — некорректно реализованная функция tipc_mon_rcv().

Дело в том, что в режиме мониторинга состояние пиров отслеживается через обмен сообщениями (STATE_MSG) с отсылкой к ресурсной записи домена. Для обработки таких пакетов вызывается функция tipc_mon_rcv(), которая выполняет ряд базовых проверок, но при этом, как выяснилось, не фиксирует превышение лимита на количество членов домена в DNS-записи.

В итоге злоумышленник может отправить на целевой хост TIPC-пакет с вредоносным контентом, указав значение member_cnt выше 64, а потом создать новую ресурсную запись. При получении обновления прежние данные кешируются — для сравнения; в результате возникает ошибка, позволяющая перезаписать содержимое стека за границей буфера.

Уязвимость актуальна для Linux выпусков с 4.8 по 5.17-rc3. Патч вышел 10 февраля и включен в состав новых сборок ядра:  

  • 5.16.9
  • 5.15.23
  • 5.10.100
  • 5.4.179
  • 4.19.229
  • 4.14.266
  • 4.9.301

В дистрибутивы Linux изменения пока не внесены. Чтобы предотвратить эксплойт, участники проекта Ubuntu советуют отключить автозагрузку TIPC. Разработчики из Red Hat рекомендуют также разграничить коммуникации между узлами на транспортном уровне и усилить защиту с помощью шифрования и аутентификации.

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.