Уязвимость в устаревших камерах Vivotek позволяет удалённо выполнять произвольный код

vulnerability

Исследователи из группы реагирования на угрозы (Security Intelligence and Response Team, SIRT) компании Akamai обнаружили критическую уязвимость в прошивке устаревших IP-камер Vivotek. Она позволяет удалённым злоумышленникам выполнять произвольные команды на устройстве с правами суперпользователя (root). Эта проблема, получившая идентификатор CVE-2026-22755, затрагивает десятки моделей и значительно повышает риск их использования для построения ботнетов. Для поиска уязвимости эксперты применили методы обратного проектирования (reverse engineering) на основе искусственного интеллекта.

Детали уязвимости

Согласно отчёту, уязвимость представляет собой инъекцию команд (command injection) в скрипте "upload_map.cgi". Она возникает из-за небезопасной обработки пользовательского ввода. В дизассемблированном коде видно, как функция "snprintf()" формирует строку вида "mv %s %s", куда подставляются имена файлов, контролируемые атакующим. Затем эта строка передаётся в функцию "system()" для выполнения на уровне операционной системы. Используя специально сформированные имена, например, "test_firmware.bin;id;", злоумышленник может выполнять произвольные команды в оболочке (shell).

Однако для успешной эксплуатации должны соблюдаться пять условий. Во-первых, размер загружаемого файла не должен превышать 5 мегабайт. Во-вторых, файл должен пройти базовую проверку прошивки: содержать магические байты "FF V FF FF" в начале и "FF K FF FF" в конце. В-третьих, на устройстве должен присутствовать и корректно работать исполняемый файл "/usr/sbin/confclient", возвращающий значение "capability_remotecamctrl_master=1". В-четвёртых, на камере должна работать нестандартная версия веб-сервера Boa с определёнными переменными окружения. И наконец, вызов должен осуществляться через скрипт "upload_map.cgi", а не через "file_manager.cgi".

Чтобы продемонстрировать уязвимость, исследователи эмулировали среду на базе архитектуры ARM. Они создали фиктивную прошивку, содержащую простой Bash-скрипт для генерации файла с нужными магическими байтами. Затем они установили необходимые переменные окружения, такие как "REQUEST_METHOD=POST", "CONTENT_LENGTH=55123", "QUERY_STRING=camid=1" и критически важную "POST_FILE_NAME="test_firmware.bin;id;"". При запуске уязвимого скрипта "/usr/share/www/cgi-bin/upload_map.cgi" система выполняла команду "id" после точки с запятой, выводя на экран данные учетной записи root: "uid=0(root) gid=0(root)". Трассировка системных вызовов (strace) подтвердила, что оболочка парсит точку с запятой, выполняя команду "id" после неудачной попытки выполнить "mv".

Под угрозой находятся десятки моделей камер Vivotek, включая серии FD, FE, IB, IP, IT, MA, MS и TB, с различными версиями прошивки, перечисленными в отчёте. Эксперты настоятельно рекомендуют немедленно обновить прошивку на всех уязвимых устройствах. В качестве индикаторов компрометации (Indicators of Compromise, IOC) следует отслеживать обращение к пути "/cgi-bin/admin/upload_map.cgi" с параметром "camid=", использование переменной окружения "POST_FILE_NAME", содержащей точку с запятой, а также наличие в файлах специфических магических байтов. Для автоматического поиска угроз можно использовать предоставленное правило YARA.

Для устранения уязвимости разработчикам необходимо выпустить обновлённые версии прошивки. На уровне кода важно внедрить тщательную проверку (санитизацию) имён файлов на стороне сервера и ограничить функциональность загрузки. Пользователям следует сегментировать сеть, изолируя устройства Интернета вещей (IoT), и по возможности отключать неиспользуемые CGI-скрипты. Специалистам по безопасности рекомендуется отслеживать аномальные попытки загрузки файлов.

Обнаружение этой уязвимости вновь подчёркивает серьёзные риски, связанные с устаревшими устройствами Интернета вещей. Получение прав root позволяет злоумышленникам полностью скомпрометировать устройство, похитить данные или включить его в ботнет для проведения распределённых атак типа «отказ в обслуживании» (DDoS). Команда Akamai призывает производителей оперативно выпускать патчи, пользователей - устанавливать обновления, а исследовательское сообщество - к открытому сотрудничеству. Проактивная безопасность экосистемы IoT требует строгой проверки входных данных, регулярного аудита кода и применения современных инструментов, включая системы на базе искусственного интеллекта, для раннего обнаружения подобных недостатков.

Ссылки

Комментарии: 0