
Пассивное обнаружение в масштабах интернета + помощник для ответственного раскрытия CVE-2026-74580 (ошибка кэша метаданных vhost в Linux) — запрашивает существующие данные сканирования (Sonar/Shodan/Censys), проводит триаж подверженности и готовит (никогда не отправляет автоматически) уведомления владельцам.
Помощник для проверки периметра и ответственного раскрытия информации о
CVE-2026-74580 («Vghost») — реальной ошибке кэша метаданных vhost
в ядре Linux (запись CVE,
запись OSV), которая даёт
локальное повышение привилегий / побег из VM на уязвимых хостах с vhost/гипервизором.
Основной сценарий использования: проверка собственного периметра. Передайте свои
IP-диапазоны, CIDR или домены (import_list.py) — внутренние или внешние — и
проведите их триаж на предмет экспозиции, связанной с vhost (порты управления
libvirt/Proxmox/QEMU), а затем получите заметки по устранению для своего трекера
(run_pipeline.py --self, см. «Проверка собственного периметра» ниже). Без
автообнаружения, без массового поиска контактов — хост уже принадлежит вам.
Дополнительная возможность: обнаружение сторонних хостов через публичные данные сканирования. Этот проект не сканирует интернет самостоятельно — он может опционально запрашивать наборы данных/API, которые уже выполнили сканирование (Rapid7 Open Data / Sonar, Shodan, Censys), чтобы найти другие открытые хосты, а затем помочь вам составить уведомления о раскрытии их владельцам. Стоит знать до того, как вы потратите на это время: за это не платят вознаграждение (CSIRT не платят, а отчёты вида «известная CVE, непропатченный экземпляр» редко подходят под программы вознаграждений — см. «Влияние» ниже) — это неоплачиваемая работа добросовестного уведомления, и большая часть реального использования этого репозитория — это сценарий проверки периметра выше, а не этот.
CVE-2026-74580 — это ошибка уровня ядра, локальная, а не сетевая/веб-ориентированная — из этого следует несколько вещей, важных для триажа:
Применимо только если выполняются все условия:
vhost-net/vhost-scsi через
QEMU/KVM, обычно через libvirt или Proxmox). Хост на голом железе без
VM или VM на чистом virtio без vhost-разгрузки не подвержены
этой ошибке независимо от уровня патчей.Реальную серьёзность определяет то, у кого уже есть (или может появиться) выполнение кода, — а не то, обращён ли хост в интернет. Экспозиция в интернете влияет лишь на то, насколько легко внешний атакующий найдёт цель или удалённо получит начальную точку опоры; это никак не меняет того, эксплуатируема ли ошибка, когда у кого-то уже есть эта точка опоры. Внутренняя, частная инфраструктура не является по своей природе менее рискованной:
Наиболее критично, независимо от доступности из интернета:
Где доступность из интернета действительно имеет значение (вторичный фактор, а не основной):
merge_and_triage.py. Открытый порт сам по себе
ничего не доказывает — он важен только когда что-то контролируемое
атакующим может выполняться локально, а данные пассивного сканирования этого
показать не могут (см. «Почему только пассивно» ниже — почему этот репозиторий
не пытается подтвердить это на хостах, которыми вы не владеете).Действительно более низкая серьёзность:
Помогает ли WAF? Не против этой уязвимости напрямую — WAF инспектирует трафик HTTP(S), а эта уязвимость живёт в пути кэша метаданных vhost в ядре, а не в разборе запросов. Она просто не находится в пути экспозиции для самой уязвимости.
Где WAF действительно важен — это на шаг раньше: наиболее распространённая в реальном мире цепочка — это RCE в веб-приложении → выполнение кода внутри гостя → эксплойт vhost → побег на хост → боковое перемещение ко всем остальным тенантам. WAF (или другие средства веб-безопасности) может заблокировать RCE в веб-приложении, который даёт атакующему первоначальную точку опоры, что не позволяет ему вообще достичь предпосылки для этой уязвимости. Итак: не имеет отношения к самой уязвимости vhost, но имеет отношение к одному из наиболее распространённых путей к предпосылке для неё.
Что действительно снижает риск, от начала до конца: патчинг ядра, отключение vhost offload там, где он не нужен, недопущение открытия портов управления libvirt/Proxmox в интернет, укрепление веб-приложений/сервисов, работающих внутри гостей (снижение вероятности того первоначального RCE), и укрепление изоляции тенантов (seccomp, namespaces), чтобы любую точку опоры было сложнее получить.