Антивирусная компания «Лаборатория Касперского» сообщила о проведении её экспертами исследования различных реализаций системы удалённого доступа Virtual Network Computing (VNC), в результате которого было обнаружено 37 уязвимостей порчи памяти, многие из которых существовали на протяжении очень долгого времени. Эксплуатация некоторых обнаруженных уязвимостей могла позволить злоумышленникам удалённо исполнять код.

Система VNC предназначена для предоставления одному устройству удалённого доступа к экрану другого. При этом спецификация протокола не ограничивает выбор операционной системы и позволяет кроссплатформенные реализации, что делает систему одной из самых распространённых. Точное количество инсталляций оценить сложно, но, по оценкам shodan.io, количество VNC-серверов, доступных из глобальной сети, составляет более 600 тысяч. С учётом устройств, доступных только внутри локальной сети, можно с уверенностью сказать, что общее число используемых VNC-серверов во много раз больше. По данным антивирусной компании, подобные системы также активно и широко используются на объектах промышленной автоматизации: в среднем каждый третий компьютер в индустриальной сети содержит различные средства для удалённого администрирования, в том числе и VNC.

В ходе исследования специалисты компании изучили одни из наиболее часто встречающихся реализаций VNC: LibVNC, UltraVNC, TightVNC1.X и TurboVNC. Все они уже были исследованы ранее другими экспертами, но, как выяснилось, далеко не все бреши были обнаружены и закрыты. Эксперты Kaspersky ICS CERT в общей сложности завели 37 CVE, которые описывают найденные ими уязвимости. Программные дыры были обнаружены как в клиентских, так и в серверных компонентах VNC. Некоторые из этих уязвимостей позволяют удалённо выполнить произвольный код, то есть злоумышленник потенциально может получить контроль над атакованной системой. Однако для эксплуатации серверных уязвимостей зачастую необходима парольная аутентификация, при этом из соображений безопасности сервер может не позволить установить беспарольный метод аутентификации.

Информация обо всех найденных уязвимостях в VNC была передана разработчикам систем. Почти все они закрыли бреши, за исключением TightVNC, который более не поддерживается командой разработки.