CVE-2026-54885 in boruta
Sumário
de VulDB • 31/07/2026
Vulnerabilidade de Server-Side Request Forgery (SSRF) no malach-it Boruta permite que um atacante remoto não autenticado faça com que o servidor de autorização OAuth/OpenID emita solicitações HTTP de saída para URIs escolhidas pelo atacante, incluindo serviços internos e endpoints de metadados da nuvem.
Três caminhos de código buscam URIs remotas fornecidas pelo solicitante sem validação suficiente do destino. A função `Boruta.Oauth.Request.Base.fetch_unsigned_request/1` em `lib/boruta/oauth/request/base.ex` referencia o parâmetro OAuth `request_uri` a partir da solicitação de autorização por meio de `Finch.build(:get, request_uri) |> Finch.request(OpenIDHttpClient)`. A função `Boruta.Openid.parse_registration_params/2` em `lib/boruta/openid.ex` referencia o `jwks_uri` fornecido em uma solicitação de registro dinâmico de cliente OpenID Connect. Posteriormente, a função `Boruta.Ecto.Clients.refresh_jwk_from_jwks_uri/1` em `lib/boruta/adapters/ecto/clients.ex` atualiza o `jwks_uri` armazenado para um cliente existente. Em todos os três caminhos, a única validação é que a URI seja analisada com um esquema (e uma das duas cláusulas de `request_uri` nem sequer restringe o esquema a http ou https). As implementações não exigem HTTPS, não aplicam uma lista permitida de hosts ou IPs, não rejeitam loopback, intervalos privados, link-local ou outros intervalos não públicos após a resolução DNS, não limitam o tamanho da resposta e não restringem redirecionamentos. Portanto, um atacante pode direcionar o cliente HTTP do servidor para alvos de rede arbitrários acessíveis a partir do host Boruta.
Este problema afeta boruta: das versões 2.3.2 até antes da 2.3.7.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.