Media

vLLM has SSRF Protection Bypass

  • Publicada: 09.03.2026
  • Actualizado: 11.10.2026 14:18

Summary

The SSRF protection fix for https://github.com/vllm-project/vllm/security/advisories/GHSA-qh4c-xf7m-gxfc can be bypassed in the load_from_url_async method due to inconsistent URL parsing behavior between the validation layer and the actual HTTP client.

Affected Component

  • File: vllm/connections.py
  • Function: load_from_url_async

Vulnerability Details

Root Cause

The SSRF fix uses urllib3.util.parse_url() to validate and extract the hostname from user-provided URLs. However, load_from_url_async uses aiohttp for making the actual HTTP requests, and aiohttp internally uses the yarl library for URL parsing.

These two URL parsers handle backslash characters (\) differently:

Parser Input URL Parsed Host Parsed Path Behavior
urllib3.parse_url() https://httpbin.org\@evil.com/ httpbin.org /%5C@evil.com/ URL-encodes \ as %5C, treats \@evil.com/ as part of the path
yarl (via aiohttp) https://httpbin.org\@evil.com/ evil.com / Treats \ as part of userinfo (user: httpbin.org\), the @ acts as the userinfo/host separator

Attack Scenario

python
# Attacker provides this URL
malicious_url = "https://httpbin.org\\@evil.com/"

# 1. Validation layer (urllib3.parse_url)
parsed = urllib3.util.parse_url(malicious_url)
# parsed.host == "httpbin.org"  ✅ Passes validation

# 2. Actual request (aiohttp with yarl)
async with aiohttp.ClientSession() as session:
    async with session.get(malicious_url) as response:
        # Request actually goes to evil.com!  ❌ Bypass!

Why This Happens

  1. yarl: Interprets httpbin.org\ as the userinfo component, and @ as the userinfo/host separator, so the URL is parsed as user=httpbin.org\, host=evil.com, path=/
  2. urllib3: URL-encodes the backslash as %5C, so \@evil.com/ becomes /%5C@evil.com/ which is treated as part of the path, leaving host=httpbin.org

This inconsistency allows an attacker to:

  • Bypass the hostname allowlist check
  • Access arbitrary internal/external services
  • Perform full SSRF attacks

Fixes

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) vllm >= 0.15.1, < 0.17.0 0.17.0

Referencias

Puntuación CVSS 5.4/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
Debilidad (CWE)
CWE-918
Plataforma
Python (PyPI)
Paquete
vllm
Publicada
09.03.2026
Actualizado
11.10.2026 14:18

Fuentes y licencias

OSV / GitHub Advisory Database - PYSEC-2026-3411 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-v359-jj2v-j536 - CC BY 4.0

Historial de vulnerabilidades: vllm

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (94) en el archivo
Entradas en total
94
Primera → última
09.2024 10.2026
Sin corrección
5
Explotada en ataques
0

Distribución por gravedad

  • Crítica 9
  • Alta 23
  • Media 47
  • Baja 4
  • Sin evaluar 11

Divulgaciones por año

  1. 2024: 2
  2. 2025: 30
  3. 2026: 62
Gravedad:
  1. Alta · 7.5 CVE-2026-54234 >= 0.17.1, < 0.24.0 0.24.0
  2. Alta CVE-2026-55514 >= 0.12.0, < 0.24.0 0.24.0
  3. Crítica · 9.1 CVE-2026-48746 >= 0.3.0, < 0.22.0 0.22.0
  4. vLLM has SSRF Protection Bypass esta entrada
    Media · 5.4 CVE-2026-25960 >= 0.15.1, < 0.17.0 0.17.0
  5. Crítica · 9.8 CVE-2026-22778 >= 0.8.3, < 0.14.1 0.14.1
  6. Alta · 8.8 CVE-2026-22807 >= 0.10.1, < 0.14.0 0.14.0
  7. Alta · 8.8 CVE-2026-56340 >= 0.10.2, < 0.13.0 0.13.0
  8. Alta · 6.5 CVE-2025-62372 >= 0.5.5, < 0.11.1 0.11.1
  9. Alta · 8.8 CVE-2025-62164 >= 0.10.2, < 0.11.1 0.11.1
  10. Alta · 7.5 CVE-2025-59425 < 0.11.0 0.11.0
Mostrar más (13) Mostrando 20 de 33

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.