Одна из уязвимостей в анализаторе трафика Wireshark даёт злоумышленнику возможность выполнить посторонний код на компьютере жертвы. Чтобы это сработало, человеку достаточно открыть подготовленный файл профиля конфигурации. Остальные 18 уязвимостей обрушивают программу, зацикливают её или вызывают утечку памяти при обработке сетевых пакетов. Разработчики закрыли все 19 в версиях 4.6.9 и 4.4.19. Затронуты Wireshark 4.4.x до 4.4.19 и 4.6.x до 4.6.9 включительно. Свидетельств того, что хотя бы одну из них уже применяют в реальных атаках, у разработчиков пока нет.
Детали уязвимостей
Перехваченный трафик Wireshark разбирает десятками отдельных модулей, и каждый отвечает за свой протокол. Ошибки в них стали источником большинства проблем из свежего списка. Отправить повреждённый пакет в сеть, которую прямо сейчас прослушивает администратор, несложно, и анализатор завершится аварийно. Есть сценарий проще: жертве присылают файл трассировки, она его открывает, и программа падает. Иногда вместо падения Wireshark уходит в бесконечный цикл и впустую расходует процессорное время.
Пострадали модули разбора беспроводных протоколов Wi-Fi, ZigBee и RF4CE, промышленного стандарта синхрофазоров IEEE C37.118, автомобильной шины PEAK CAN, а также USB HID (протокол обмена с устройствами ввода), SCTP, SPDY и X11. Отдельные исправления получили компоненты, читающие файлы форматов TIFF, записей Toshiba и дампов Microsoft Network Monitor. Утилита sharkd, которая обрабатывает трафик без графического интерфейса, тоже падала на специально собранных данных. Модуль разбора кадров верхнего уровня зацикливался, а модуль протокола USB HID ещё и подтекал по памяти.
Заметное исключение из общего ряда - импорт профилей. В Wireshark есть механизм переноса настроек между машинами: пользователь сохраняет профиль и загружает его на другом компьютере. Проверка содержимого такого файла оказалась неполной. Подготовленный профиль способен не только уронить анализатор, но и привести к исполнению чужого кода. Это единственная уязвимость в выпуске, которую разработчики описывают как выход за пределы обычного отказа в обслуживании. Ей присвоен идентификатор CVE-2026-96419.
Три уязвимости из девятнадцати затрагивают только ветку 4.6: модуль разбора ZigBee ZCL, компонент чтения файлов TTL и модуль разбора записей PEAK CAN TRC. Пользователям 4.4 они не грозят, поскольку соответствующего кода в их сборках нет. Остальные 16 проблем исправлены в обеих поддерживаемых ветках. Такой разброс объясняется просто: часть модулей появилась или переписана уже после разделения веток.
Нашли эти ошибки несколько независимых групп. Среди них исследователи из OpenSec Intelligence, Ada Logics, Aisle Research, а также специалисты подразделения Zero Day Initiative компании Trend Micro. Часть проблем выявили в ходе внутреннего аудита кода Wireshark, который заказывала сама команда проекта. Ни один из обнаружителей не сообщает о готовых эксплойтах, то есть о вредоносном коде, использующем уязвимость.
Для кого это важно. Wireshark стоит на рабочих машинах системных администраторов, в центрах мониторинга информационной безопасности, на инженерных станциях промышленных предприятий. Программа по своей природе работает с недоверенными данными: она разбирает то, что пришло из сети. Значит, любая ошибка в модуле разбора сразу превращается в способ атаки. При этом доступ к самому компьютеру злоумышленнику не нужен, достаточно доставить пакет по сети или уговорить человека открыть файл.
Отдельного внимания заслуживают промышленные и беспроводные протоколы в списке. Синхрофазоры IEEE C37.118 применяют на энергетических объектах для синхронизации измерений, шину PEAK CAN - в автомобильной диагностике, ZigBee и RF4CE - в устройствах умного дома и промышленной автоматизации. Аналитик, который разбирает аварийную ситуацию на таком объекте, открывает трассировки именно этих протоколов. Ошибка в разборе означает, что вместо чтения данных он получит зависшую или упавшую программу.
Обновление доступно на официальном сайте проекта. Ветка 4.6 получает версию 4.6.9, ветка 4.4 - версию 4.4.19. Сборки для Linux и дистрибутивы с длительной поддержкой подтянут исправления позже, поэтому имеет смысл проверять версию вручную, а не полагаться на автоматическое обновление. Проверить номер можно в разделе "О программе". Если обновление по каким-то причинам откладывается, стоит хотя бы не открывать файлы трассировок и профили, полученные из внешних источников, и ограничить круг людей с доступом к интерфейсу захвата трафика.
Девятнадцать уязвимостей за один выпуск выглядят внушительно, однако это результат планомерной проверки кода, а не признак того, что проект разваливается. Анализаторы трафика и программы для чтения чужих форматов файлов регулярно оказываются источником проблем именно потому, что первыми принимают на себя необработанные и потенциально враждебные данные. Чем быстрее такие инструменты обновляются, тем меньше остаётся окна, в котором ошибка разбора превращается в рабочий инструмент злоумышленника.
Ссылки
- https://www.wireshark.org/security/wnpa-sec-2026-100.html
- https://www.wireshark.org/security/wnpa-sec-2026-101.html
- https://www.wireshark.org/security/wnpa-sec-2026-102.html
- https://www.wireshark.org/security/wnpa-sec-2026-103.html
- https://www.wireshark.org/security/wnpa-sec-2026-104.html
- https://www.wireshark.org/security/wnpa-sec-2026-105.html
- https://www.wireshark.org/security/wnpa-sec-2026-106.html
- https://www.wireshark.org/security/wnpa-sec-2026-107.html
- https://www.wireshark.org/security/wnpa-sec-2026-108.html
- https://www.wireshark.org/security/wnpa-sec-2026-109.html
- https://www.wireshark.org/security/wnpa-sec-2026-110.html
- https://www.wireshark.org/security/wnpa-sec-2026-92.html
- https://www.wireshark.org/security/wnpa-sec-2026-93.html
- https://www.wireshark.org/security/wnpa-sec-2026-94.html
- https://www.wireshark.org/security/wnpa-sec-2026-95.html
- https://www.wireshark.org/security/wnpa-sec-2026-96.html
- https://www.wireshark.org/security/wnpa-sec-2026-97.html
- https://www.wireshark.org/security/wnpa-sec-2026-98.html
- https://www.wireshark.org/security/wnpa-sec-2026-99.html