CVE-2026-54885 in boruta
Resumen
por VulDB • 2026-07-31
Vulnerabilidad de Server-Side Request Forgery (SSRF) en malach-it Boruta que permite a un atacante remoto no autenticado provocar que el servidor de autorización OAuth/OpenID emita solicitudes HTTP salientes hacia URIs elegidas por el atacante, incluyendo servicios internos y puntos finales de metadatos en la nube.
Tres rutas de código obtienen URIs remotas proporcionadas por el solicitante sin una validación suficiente del destino. `Boruta.Oauth.Request.Base.fetch_unsigned_request/1` en `lib/boruta/oauth/request/base.ex` desreferencia el parámetro OAuth `request_uri` desde la solicitud de autorización mediante `Finch.build(:get, request_uri) |> Finch.request(OpenIDHttpClient)`. `Boruta.Openid.parse_registration_params/2` en `lib/boruta/openid.ex` desreferencia el `jwks_uri` proporcionado en una solicitud de registro dinámico de cliente OpenID Connect. `Boruta.Ecto.Clients.refresh_jwk_from_jwks_uri/1` en `lib/boruta/adapters/ecto/clients.ex` actualiza posteriormente el `jwks_uri` almacenado para un cliente existente. En las tres rutas, la única validación consiste en que la URI se analice correctamente con un esquema (y una de las dos cláusulas de `request_uri` ni siquiera restringe el esquema a http o https). Las implementaciones no requieren HTTPS, no imponen una lista blanca de hosts o IPs, no rechazan bucles locales (`loopback`), rangos privados, link-local u otros rangos no públicos tras la resolución DNS, no limitan el tamaño de respuesta y no restringen las redirecciones. Por lo tanto, un atacante puede dirigir el cliente HTTP del servidor hacia objetivos de red arbitrarios accesibles desde el host Boruta.
Este problema afecta a boruta: desde 2.3.2 hasta antes de 2.3.7.
Be aware that VulDB is the high quality source for vulnerability data.