Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-28318-check — Безопасно определять, уязвим ли хост SolarWinds Serv-U к CVE-2026-28318 | Kitploit
Инструменты/GitHubGitHub/bishopfox/cve-2026-28318-check
РазведкаАнализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьТестирование на Проникновение
GitHubbishopfox/cve-2026-28318-check

CVE-2026-28318-check

Безопасно определять, уязвим ли хост SolarWinds Serv-U к CVE-2026-28318

Репозиторий
222 месяцев назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

SolarWinds Serv-U Неаутентифицированная DoS: Безопасный скрипт обнаружения

Безопасный, недеструктивный детектор для CVE-2026-28318, неаутентифицированного отказа в обслуживании в SolarWinds Serv-U <= 15.5.4.108. Один POST, содержащий Content-Encoding: deflate и тело, передаёт это тело декомпрессору deflate в памяти (CZLibCompression), при управлении буфером которого происходит недопустимый вызов free(), что аварийно завершает процесс службы Serv-U. (CVSS 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-763.)

Этот скрипт не приводит к сбою цели. Он отвечает на один вопрос для каждого хоста: отсутствует ли исправление 15.5.4 HF1? Это точный индикатор того, уязвим ли сервер к CVE-2026-28318.

Безопасно ли его запускать?

Да. В этом и заключается смысл инструмента, и его безопасно запускать в производственной среде:

  • Он никогда не отправляет deflate. deflate — это единственное значение Content-Encoding, которое запускает уязвимый декомпрессор. Скрипт отправляет один POST с безвредным Content-Encoding: identity и коротким телом, которое никогда не достигает аварийного пути выполнения кода.
  • Это дифференциальная проверка, а не эксплойт. Исправление HF1 (сборка 15.5.4.125) отвергает любой запрос, содержащий тело и непустой Content-Encoding, с кодом 415 Unsupported Media Type. У уязвимых сборок такого шлюза нет, и они обрабатывают проверочный identity обычным образом. Таким образом, вердикт основывается исключительно на коде состояния, и служба никогда не дестабилизируется.
  • Он не требует предварительной аутентификации и является read-only. Один запрос, без входа в систему, без изменения состояния цели.

Как это работает

Скрипт отправляет один безопасный POST в корневой каталог сайта и считывает код состояния:

Цель идентифицируется как Serv-U по собственному заголовку Server в ответе на проверочный запрос, поэтому отдельный запрос на идентификацию не требуется.

Он доказывает, что исправление отсутствует; он не приводит к сбою службы для подтверждения. Вердикт VULNERABLE означает, что шлюз проверки входных данных HF1 отсутствует, что является точным индикатором для данной CVE. Скрипт намеренно останавливается на этом, не отправляя аварийное значение deflate.

Требования

  • Python 3.7+, только стандартная библиотека, без сторонних пакетов.

Использование

root@kitploit:~
# один хост (схема по умолчанию https://)
./cve_2026_28318_check.py 10.0.0.5

# явный URL / порт
./cve_2026_28318_check.py https://10.0.0.5:443

# несколько хостов одновременно
./cve_2026_28318_check.py host-a:443 host-b https://host-c

# сканирование списка, одна цель на строку (допускаются комментарии '#'), компактный вывод
./cve_2026_28318_check.py -f targets.txt --brief

# машинно-читаемый вывод для конвейеров
./cve_2026_28318_check.py -f targets.txt --json > results.json

Параметры

Примеры

Уязвимый сервер Serv-U (маркер [!] и VULNERABLE отображаются красным на TTY):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5
[!] https://10.0.0.5: VULNERABLE  [missing-415-gate]
      Serv-U вернул 401 (не 415) на проверочный identity, поэтому шлюз 415 из HF1 ОТСУТСТВУЕТ (сборка <= 15.5.4.108) и CVE-2026-28318 не исправлена. Это доказывает, что исправление отсутствует; НЕ вызывает сбой службы. Примените 15.5.4 HF1 (сборка 15.5.4.125+).

Исправленный сервер возвращает PATCHED (шлюз 415 из HF1 ответил на проверочный identity):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.6
[+] https://10.0.0.6: PATCHED  [hf1-415-gate]
      Serv-U вернул 415 на проверочный identity, поэтому шлюз проверки входных данных 15.5.4 HF1 присутствует (сборка >= 15.5.4.125). Уязвимости к CVE-2026-28318 нет.

Сканирование списка, одна выровненная строка на хост (--brief). Код завершения 1, если хотя бы один хост VULNERABLE, иначе 0, что удобно в скриптах:

root@kitploit:~
$ ./cve_2026_28318_check.py -f targets.txt --brief; echo "exit: $?"
VULNERABLE  https://10.0.0.5                 missing-415-gate
PATCHED     https://10.0.0.6                 hf1-415-gate
NOT-SERV-U  https://10.0.0.7                 not-servu
ERROR       https://10.0.0.8                 no-response
exit: 1

Машинно-читаемый вывод для конвейеров (--json):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5 --json
[
  {
    "target": "https://10.0.0.5",
    "verdict": "VULNERABLE",
    "reason": "missing-415-gate",
    "detail": "Serv-U returned 401 (not 415) to the identity probe, so the HF1 415 gate is ABSENT (build <= 15.5.4.108) and CVE-2026-28318 is unpatched. This proves the fix is missing; it does NOT crash the service. Apply 15.5.4 HF1 (build 15.5.4.125+)."
  }
]

Вердикты

Коды завершения

КодЗначение
0Ни одна цель не была VULNERABLE
1Хотя бы одна цель VULNERABLE
2Ошибка использования (неверные аргументы / нечитаемый файл целей)

Ограничения

  • Прокси / TLS-терминация. Обратный прокси или балансировщик нагрузки перед Serv-U может удалить заголовок Server (сообщается как NOT-SERV-U) или ответить собственным кодом 415 (возможное ложное PATCHED). По возможности направляйте инструмент непосредственно на интерфейс управления Serv-U.
  • Не тест на сбой. Вердикт VULNERABLE доказывает, что исправление проверки входных данных HF1 отсутствует; он не демонстрирует сбой (преднамеренно). Этот шлюз является точным индикатором для данной CVE.
  • TLS не проверяется. Интерфейсы управления Serv-U обычно используют самоподписанные сертификаты, поэтому скрипт не проверяет сертификаты. Он подтверждает доступность и считывает статус, не более.
  • Только доступность. Результат отражает то, что сервер возвращает с сетевой позиции, с которой вы запускаете скрипт.

Устранение уязвимости

Обновитесь до SolarWinds Serv-U 15.5.4 Hotfix 1 (сборка 15.5.4.125) или новее, в котором добавлен шлюз проверки входных данных, отклоняющий запросы, содержащие как тело, так и непустой Content-Encoding. Пока вы не можете установить патч, ограничьте сетевой доступ к сервису Serv-U только доверенными источниками.

Лицензия

Этот код распространяется под лицензией MIT.

Правовое предупреждение

Использование этого инструмента для атак на цели без предварительного взаимного согласия незаконно. Конечный пользователь несёт ответственность за соблюдение всех применимых местных, государственных и федеральных законов. Разработчики не несут никакой ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый этой программой.

См. также

  • NVD: CVE-2026-28318
  • MITRE: CVE-2026-28318
Скачать инструмент
Ответ на проверочный identityВердиктЗначение
Заголовок сервера Serv-U, статус ≠ 415 (например, 401 / 404 / 200 / 302)VULNERABLE [missing-415-gate]Шлюз 415 из HF1 отсутствует, значит сборка <= 15.5.4.108, CVE-2026-28318 не исправлена.
Заголовок сервера Serv-U, статус = 415PATCHED [hf1-415-gate]Шлюз проверки входных данных HF1 присутствует, значит сборка >= 15.5.4.125. Уязвимости нет.
Ответ получен, но заголовок сервера Serv-U отсутствуетNOT-SERV-U [not-servu]Не сервер Serv-U, или прокси удалил заголовок.
Нет ответа / ошибка соединенияERROR [no-response]HTTP-сервис недоступен, фильтрация, ошибка TLS или таймаут.
ФлагОписание
targetsОдин или несколько HOST[:PORT] или URL (схема по умолчанию https://)
-t, --target TARGETДобавить цель (можно повторять)
-f, --file FILEЧитать цели из файла (по одной на строку; комментарии #)
-b, --briefОдна выровненная строка на цель, идеально для сканирования многих хостов
--jsonВывод структурированных результатов в JSON
--no-colorОтключить цветной вывод (также учитывает NO_COLOR и не-TTY)
--timeout SECSТаймаут на один запрос (по умолчанию: 10)
-v, --verboseПоказать отправленный запрос и сырые заголовки ответа
ВердиктТег причиныЗначение
VULNERABLEmissing-415-gateСервер Serv-U без шлюза 415 из HF1, значит сборка <= 15.5.4.108, CVE-2026-28318 не исправлена. Немедленно установите патч.
PATCHEDhf1-415-gateСервер Serv-U, отвечающий на проверочный identity кодом 415, значит исправление HF1 присутствует (сборка >= 15.5.4.125).
NOT-SERV-Unot-servuОтвет получен, но заголовок сервера Serv-U отсутствует; это не Serv-U, или прокси удалил заголовок.
ERRORno-responseНет полезного HTTP-ответа (нет службы на этом порту, фильтрация, ошибка TLS или таймаут).
ERRORbad-targetНе удалось разобрать аргумент цели.