05 февраля 2021
Новые уязвимости в печально известной реализации стека TCP/IP
В продолжение к истории с уязвимостями сетевого ПО от производителя Treck, на прошлой неделе была опубликована информация еще о трех уязвимостях в реализации IPv6 в версии 6.0.1.67 стека TCP/IP этого производителя.
Напомним, что в прошлом году Treck печально прославился после обнаружения набора из 19 уязвимостей, получившей название Ripple20. Недавно сообщалось о критической уязвимости веб-сервера, связанной с переполнением буфера в стеке, эксплуатация которой может привести к исполнению произвольного кода. Если веб-сервер запущен с правами root (а такое часто случается на IoT устройствах), то это приведет к полной компрометации системы.
Вновь обнаруженные уязвимости являются менее критичными. CVE-2020-27336 с рейтингом 5.3 по CVSS v3.1 связана с возможностью чтения трех байт вне допустимых пределов. Уязвимость CVE-2020-27337 уже с рейтингом 7.3 связана с возможностью удаленного вызова отказа в обслуживании вследствие записи вне допустимых пределов. Эксплуатация уязвимости CVE-2020-27338 также может привести к отказу в обслуживании, но поскольку ошибка допущена в реализации протокола DHCPv6, атака может выполняться только в локальной сети уязвимого устройства. Рейтинг этой уязвимости соответственно ниже — 7.1 согласно CVSS v3.1.
Исследователи указывают не на переполнение буфера, а на чтение или запись вне допустимых границ. Ошибки, которые приводят к возникновению уязвимостей такого рода, являются типовыми для реализации вычислений в обработчиках принимаемых пакетов данных. К примеру, может быть уязвим механизм обработки фрагментированных данных. Широко известны уязвимости обработки фрагментов в реализациях IPv4, однако реализация фрагментации в IPv6 отличается от IPv4, как и другие функции протокола. То есть, при проверке безопасности кода реализации нужно не только учитывать предыдущий опыт, но и возможно искать новые виды ошибок. И хотя безопасность фрагментации IPv6 исследуется давно, вероятнее всего, мы узнаем о новых уязвимостях в реализации протокола IPv6, и не только у этого производителя.
Для исправления уязвимостей нужно обновить стек до версии не ниже 6.0.1.68. В случаях, когда продукт, например, шлюз IoT или ПЛК, использует уязвимые версии программного обеспечения Treck как сторонние компоненты, Treck рекомендует пользователям обращаться к производителю продукта или торговому посреднику для решения этой проблемы. То есть в идеале все производители IoT и других устройств, которые затронула эта проблема, должны выпустить соответствующие уведомления о безопасности и предоставить обновления безопасности. В качестве примера можно привести уведомление безопасности, выпущенное Schneider Electric об упомянутой выше уязвимости переполнения буфера в веб-сервере Treck.
Дата публикации информации об уязвимостях: 26 января 2021 года.