CVE-2020-11899
Treck TCP/IP stack IPv6
2022-03-03
The Treck TCP/IP stack contains an IPv6 out-of-bounds read vulnerability.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2020-11899) в стеке TCP/IP Treck связана с некорректной обработкой IPv6-пакетов. Злоумышленник может отправить специально сформированный IPv6-пакет, который вызовет чтение данных за пределами выделенного буфера (out-of-bounds read). Это может привести к: * Утечке конфиденциальной информации из памяти устройства. * Отказу в обслуживании (DoS) устройства. * Возможному обходу механизмов защиты.
Как исправить
Основной способ — обновить стек Treck до исправленной версии. Конкретная версия патча зависит от производителя устройства/ПО, в котором используется уязвимый стек.
- Определите производителя и модель устройства/ПО, использующего стек Treck (например, сетевое оборудование, IoT-устройства, встроенные системы).
- Обратитесь к вендору за информацией о наличии обновления. Патч был выпущен Treck Inc. в версии 6.0.1.67.
- Установите обновление прошивки/ПО от вендора. Пример команды для обновления через CLI (точная команда зависит от устройства):
bash # Пример для гипотетического сетевого устройства copy tftp://<TFTP_SERVER_IP>/firmware_patched.bin flash: reload
Временное решение
Если немедленное обновление невозможно, примените меры по сегментации и фильтрации трафика.
-
На уровне сети (брандмауэр/маршрутизатор):
- Блокируйте нежелательный IPv6-трафик из ненадежных сетей на периметре.
- Реализуйте строгие правила ACL (Access Control List). Пример правила для Cisco IOS, ограничивающего доступ к уязвимым устройствам:
ipv6 access-list FILTER-V6 deny ipv6 any host <IP_УЯЗВИМОГО_УСТРОЙСТВА> log permit ipv6 any any - Рассмотрите возможность временного отключения IPv6 на интерфейсах, обращенных к ненадежным сетям, если это не нарушит критическую функциональность.
-
На уровне хоста (если применимо):
- Используйте хост-брандмауэр (например,
iptablesдля Linux) для ограничения входящих IPv6-соединений.bash # Пример: блокировка всего входящего IPv6-трафика, кроме ICMPv6 (для ND) ip6tables -P INPUT DROP ip6tables -A INPUT -p icmpv6 -j ACCEPT ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - Отключите стек IPv6, если он не используется. Для Linux (временное отключение):
bash sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1
- Используйте хост-брандмауэр (например,