Специалист Positive Technologies Илья Яценко обнаружил две уязвимости в опенсорсной системе видеонаблюдения ZoneMinder. Этот продукт часто применяется для построения корпоративных охранных систем и установки домашнего видеонаблюдения.
Проблемы были выявлены в ZoneMinder версии 1.36.14. Первая и наиболее опасная уязвимость (9,1 балла по шкале CVSS 3.0) позволяет злоумышленнику, в случае аутентификации от имени администратора, осуществить удаленное выполнение кода (RCE) на узле, где запущено веб-приложение. В результате нарушитель может получить доступ во внутреннюю сеть. Кроме того, после аутентификации атакующий получает доступ к видеопотоку пользователя.
«Это весьма распространенное бесплатное решение для установки системы видеонаблюдения. Оно используется и дома, и в компаниях, в том числе на промышленных предприятиях. Согласно нашим оценкам, наибольшее число пользователей ПО — в США, Польше, Италии, Германии, Люксембурге и России. В некоторых случаях администраторы позволяют подключиться к ZoneMinder без аутентификации, что весьма опасно: злоумышленник может воспользоваться такими системами, как Shodan, для поиска доступных в интернете узлов с установленным ZoneMinder», — рассказывает Илья Яценко.
Исследователь отмечает, что доступ к видеоданным может обеспечить злоумышленника сведениями о режиме работы сотрудников, службы охраны и о внутреннем устройстве здания. Если же ZoneMinder установлен дома, существует риск перепродажи доступа в даркнете или включения системы видеонаблюдения в каталоги незащищенных видеокамер, к примеру, Insecam. Хотя этот сервис был создан для демонстрации важности настроек безопасности, он может быть использован и преступниками.
Вторая уязвимость (4,8 балла по шкале CVSS 3.0) связана с отсутствием предварительной обработки пользовательского ввода в веб-приложении ZoneMinder 1.36.14. Баг относится к типу хранимых XSS и может привести к получению злоумышленниками доступа к конфиденциальной информации, например сессий пользователей, на узле, где запущено веб-приложение.
По словам исследователя, среди причин появления подобных уязвимостей может быть как невнимательность разработчиков при написании кода, так и использование устаревших технологий (необновленных версий языка) и недостаточно тщательное проведение код-ревью.
К настоящему моменту производитель уже выпустил обновление 1.36.16, устраняющее эти уязвимости.