Уязвимость в VMware Tools позволяет выполнить код, подменив DLL

Уязвимость в VMware Tools позволяет выполнить код, подменив DLL

Уязвимость в VMware Tools позволяет выполнить код, подменив DLL

VMware в четверг опубликовали сообщение о двух обнаруженных  важных уязвимостях, которые затрагивают несколько продуктов этой компании. Первая брешь, отслеживаемая как CVE-2016-5330, представляет собой проблему подмены DLL в VMware Tools для Windows. Уязвимость может быть использована для выполнения произвольного кода на целевой системе.

Об уязвимостях VMware сообщил в прошлом году исследователь и соучредитель голландской фирмы Securify Йорик Костер (Yorick Koster). Костер рассказал, что компания разобралась с этим вопросом в апреле, однако до сих пор подробности не обнародованы, чтобы дать возможность всем пользователям обновиться.

По словам Костера, уязвимость связана с компонентом VMware Host Guest Client Redirector в VMware Tools. Этот компонент используется для функции общих папок, что позволяет пользователям обмениваться файлами между гостевой и операционной системой-хостом.

Исследователь обнаружил, что Client Redirector внедряет DLL под именем vmhgfs.dll. Поскольку DLL загружается из относительного пути, Windows искала его, используя порядок поиска динамически подключаемых библиотек.

Это позволяет злоумышленнику поместить вредоносную DLL в место, откуда он будет загружен до легитимного файла. Если Client Redirector загрузит вредоносную DLL злоумышленник может выполнить произвольный код с привилегиями текущего пользователя, что может привести к полной компрометации системы.

Для того, чтобы атака сработала, злоумышленник должен заставить пользователя открыть документ из расшаренного каталога, содержащего вредоносную DLL. Эксперт также утверждает, что если WebDAV Mini-Redirector был включен, то атака может быть запущена из интернета.

Mini-Redirector – клиент, позволяющий пользователям получить доступ к удаленным ресурсам через интернет, как если бы они были в локальной сети. Злоумышленник может создать свой собственный вредоносный сайт и использовать его для размещения документа и вредоносной DLL. Таким образом, уязвимость можно проэксплуатировать, заманив пользователя на этот сайт и заставив открыть документ.

Koster сказал VMware, что избавиться от уязвимости можно просто проверяя, чтобы DLL была загруженного из абсолютного пути. Эта брешь затрагивает VMware vSphere Hypervisor (ESXi), Workstation Player и Pro и Fusion.

Еще одна уязвимость была раскрыта VMware в четверг и является проблемой подмены заголовка HTTP, затрагивает vCenter Server и ESXi. Недостаток вызван отсутствием проверки входных данных, позволяет злоумышленнику установить произвольные заголовки HTTP и cookies, а также запускать межсайтовый скриптинг (XSS) или вредоносные переадресации.

Уязвимость отслеживается как CVE-2016-5331. О ней было сообщено VMware несколькими исследователями.

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

Гораздо тревожнее первой Linux-дыры в коде на Rust тот факт, что многие ошибки в ядре Linux могут годами, а иногда и десятилетиями оставаться незамеченными.

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

Важно уточнить: речь идёт о багах в целом, а не только об уязвимостях. Лишь 158 ошибок из всей выборки получили CVE, остальные могли приводить к сбоям, нестабильности или неопределённому поведению, но не обязательно к эксплуатации.

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

Оказалось, что скорость обнаружения ошибок сильно зависит от подсистемы ядра:

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

Проще говоря, чем активнее подсистема используется и исследуется, тем быстрее там находят ошибки.

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

RSS: Новости на портале Anti-Malware.ru