Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/bishopfox/cve-2026-28318-check
ReconocimientoAnálisis de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad WebPruebas de Penetración
GitHubbishopfox/cve-2026-28318-check

CVE-2026-28318-check

Detectar de forma segura si un host de SolarWinds Serv-U es vulnerable a CVE-2026-28318

Ver Repositorio
22hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SolarWinds Serv-U DoS no autenticado: Script de detección seguro

Un detector seguro, no destructivo para CVE-2026-28318, una denegación de servicio no autenticada en SolarWinds Serv-U <= 15.5.4.108. Una única POST que lleva Content-Encoding: deflate y un cuerpo alimenta ese cuerpo a un descompresor deflate en memoria (CZLibCompression) cuya gestión de búfer realiza un free() inválido, abortando el proceso del servicio Serv-U. (CVSS 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-763.)

Este script no bloquea el objetivo. Responde una pregunta por host: ¿falta la corrección 15.5.4 HF1? Eso es un proxy exacto de si el servidor es vulnerable a CVE-2026-28318.

¿Es seguro ejecutarlo?

Sí. Este es el objetivo principal de la herramienta, y es seguro ejecutarla contra producción:

  • Nunca envía deflate. deflate es el único valor de Content-Encoding que inicia el descompresor vulnerable. El script envía una única POST con un benigno Content-Encoding: identity y un cuerpo corto, que nunca llega a la ruta de código que causa el bloqueo.
  • Es una verificación diferencial, no un exploit. La corrección HF1 (build 15.5.4.125) rechaza cualquier solicitud que tenga un cuerpo y un Content-Encoding no vacío con 415 Unsupported Media Type. Las builds vulnerables no tienen esa compuerta y manejan la sonda identity normalmente. Por lo tanto, el veredicto se basa puramente en el código de estado, y el servicio nunca se desestabiliza.
  • Es pre-autenticación y solo lectura. Una solicitud, sin inicio de sesión, sin cambio de estado del objetivo.

Cómo funciona

El script envía una POST segura a la raíz del sitio y lee el código de estado:

El objetivo se identifica como Serv-U a partir de la cabecera Server de la respuesta de la sonda, por lo que no se necesita una solicitud de identificación separada.

Prueba que la corrección falta; no bloquea el servicio para confirmarlo. Un veredicto VULNERABLE significa que la compuerta de validación de entrada HF1 está ausente, lo cual es un proxy exacto para este CVE. El script se detiene deliberadamente ahí en lugar de enviar el valor deflate que causa el bloqueo.

Requisitos

  • Python 3.7+, solo biblioteca estándar, sin paquetes de terceros.

Uso

root@kitploit:~
# single host (scheme defaults to https://)
./cve_2026_28318_check.py 10.0.0.5

# explicit URL / port
./cve_2026_28318_check.py https://10.0.0.5:443

# several hosts at once
./cve_2026_28318_check.py host-a:443 host-b https://host-c

# scan a list, one target per line ('#' comments allowed), compact output
./cve_2026_28318_check.py -f targets.txt --brief

# machine-readable output for pipelines
./cve_2026_28318_check.py -f targets.txt --json > results.json

Opciones

Ejemplos

Un servidor Serv-U vulnerable (el marcador [!] y VULNERABLE se muestran en rojo en una TTY):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5
[!] https://10.0.0.5: VULNERABLE  [missing-415-gate]
      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+).

Un servidor parcheado devuelve PATCHED (la compuerta 415 de HF1 respondió a la sonda identity):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.6
[+] https://10.0.0.6: PATCHED  [hf1-415-gate]
      Serv-U returned 415 to the identity probe, so the 15.5.4 HF1 input-validation gate is present (build >= 15.5.4.125). Not vulnerable to CVE-2026-28318.

Escanear una lista, una línea alineada por host (--brief). El código de salida es 1 si algún host es VULNERABLE, de lo contrario 0, lo cual es útil en scripts:

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

Salida legible por máquina para pipelines (--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+)."
  }
]

Veredictos

Códigos de salida

CódigoSignificado
0Ningún objetivo fue VULNERABLE
1Al menos un objetivo es VULNERABLE
2Error de uso (argumentos incorrectos / archivo de objetivos ilegible)

Limitaciones

  • Proxy / terminación TLS. Un proxy inverso o balanceador de carga frente a Serv-U puede eliminar la cabecera Server (reportado como NOT-SERV-U) o responder con su propio 415 (un posible falso PATCHED). Apunte la herramienta directamente a la interfaz de administración de Serv-U siempre que sea posible.
  • No es una prueba de bloqueo. Un veredicto VULNERABLE prueba que la corrección de validación de entrada HF1 está ausente; no demuestra el bloqueo (por diseño). Esa compuerta es un proxy exacto para este CVE.
  • TLS no se verifica. Las interfaces de administración de Serv-U suelen ser autofirmadas, por lo que el script no valida certificados. Confirma la accesibilidad y lee el estado, nada más.
  • Solo accesibilidad. Un resultado refleja lo que el servidor devuelve desde la posición de red desde la que se ejecuta.

Remedio

Actualizar a SolarWinds Serv-U 15.5.4 Hotfix 1 (build 15.5.4.125) o posterior, que añade la compuerta de validación de entrada que rechaza una solicitud que lleva tanto un cuerpo como un Content-Encoding no vacío. Hasta que pueda parchear, restrinja el acceso de red al servicio Serv-U a fuentes confiables.

Licencia

Este código se distribuye bajo una licencia MIT.

Aviso legal

El uso de esta herramienta para atacar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no son responsables de ningún uso indebido o daño causado por este programa.

Ver también

  • NVD: CVE-2026-28318
  • MITRE: CVE-2026-28318
Descargar herramienta
Respuesta de sonda identityVeredictoSignificado
Cabecera Serv-U Server, estado ≠ 415 (ej. 401 / 404 / 200 / 302)VULNERABLE [missing-415-gate]La compuerta 415 de HF1 está ausente, por lo tanto build <= 15.5.4.108, CVE-2026-28318 sin parche.
Cabecera Serv-U Server, estado = 415PATCHED [hf1-415-gate]Compuerta de validación de entrada HF1 presente, por lo tanto build >= 15.5.4.125. No vulnerable.
Respondió, pero sin cabecera Serv-U ServerNOT-SERV-U [not-servu]No es un servidor Serv-U, o un proxy eliminó la cabecera.
Sin respuesta utilizable / fallo de conexiónERROR [no-response]No hay servicio HTTP alcanzable, filtrado, error TLS, o tiempo de espera.
IndicadorDescripción
targetsUno o más HOST[:PORT] o URL (el esquema por defecto es https://)
-t, --target TARGETAñadir un objetivo (repetible)
-f, --file FILELeer objetivos de un archivo (uno por línea; comentarios con #)
-b, --briefUna línea alineada por objetivo, ideal para escanear muchos hosts
--jsonEmitir resultados JSON estructurados
--no-colorDeshabilitar salida coloreada (también respeta NO_COLOR y no TTY)
--timeout SECSTiempo de espera por sonda (por defecto: 10)
-v, --verboseMostrar la sonda enviada y las cabeceras de respuesta en bruto
VeredictoEtiqueta de razónSignificado
VULNERABLEmissing-415-gateServidor Serv-U sin compuerta 415 de HF1, por lo tanto build <= 15.5.4.108, CVE-2026-28318 sin parche. Parchear inmediatamente.
PATCHEDhf1-415-gateServidor Serv-U que responde a la sonda identity con 415, por lo tanto la corrección HF1 está presente (build >= 15.5.4.125).
NOT-SERV-Unot-servuRespondió, pero sin cabecera Serv-U Server; no es Serv-U, o un proxy la eliminó.
ERRORno-responseSin respuesta HTTP utilizable (sin servicio en ese puerto, filtrado, error TLS o tiempo de espera).
ERRORbad-targetEl argumento del objetivo no pudo ser analizado.