CVE-2026-123125 Evasión de filtro SSRF en la restricción Ip de Symfony con direcciones IPv6 mapeadas
El IpValidator de Symfony clasifica de forma incompleta las direcciones internas en los modos filtrados de la restricción Ip, por lo que algunas direcciones internas se aceptan como públicas y pueden derivar en SSRF. Las banderas de PHP no cubren el espacio compartido 100.64.0.0/10 ni direcciones IPv6 IPv4-mapped, IPv4-compatible y 6to4 que embeben IPv4 internas, como ::ffff:127.0.0.1. Corregido en 5.4.56, 6.4.50, 7.4.23 y 8.1.11.
CVSS 3.1
- CVSS 4.06.3 · media
- Probabilidad de explotación · EPSS del 09/110,2 % · percentil 10
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
sensiolabs symfony
hasta antes de 5.4.56desde 6.0.0 hasta antes de 6.4.50desde 7.0.0 hasta antes de 7.4.23desde 8.0.0 hasta antes de 8.1.11
Qué hacer
- Verificá si usás symfony y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 6.5 MEDIA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadBaja
- IntegridadBaja
- DisponibilidadNinguna
CVSS 4.0 · 6.3 MEDIA
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataquePresentes
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- Confidencialidad (sistema vulnerable)Ninguna
- Integridad (sistema vulnerable)Ninguna
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Baja
- Integridad (sistemas posteriores)Baja
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
The Symfony Validator component IpValidator incompletely classifies internal addresses in the filtered modes of the Ip constraint, so some internal addresses are accepted as public, which can lead to Server-Side Request Forgery (SSRF) in Symfony versions prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, and 8.x prior to 8.1.11.
In these modes, IpValidator relies on the PHP flags FILTER_FLAG_NO_PRIV_RANGE and FILTER_FLAG_NO_RES_RANGE to classify addresses as public, private, or reserved. These flags do not cover shared address space (100.64.0.0/10) or IPv4-mapped, IPv4-compatible, and 6to4 IPv6 addresses, which can embed internal IPv4 addresses. A value such as ::ffff:127.0.0.1 can therefore pass validation even though it points to an internal host.
Applications that rely on the Ip constraint to reject internal addresses, for example before making a server-side request to a user-supplied address, can be exposed to SSRF.
Referencias (2)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.