CVE-2026-54885 in boruta
Riassunto
di VulDB • 30/07/2026
Una vulnerabilità di Server-Side Request Forgery (SSRF) in malach-it Boruta consente a un attaccante remoto non autenticato di indurre il server di autorizzazione OAuth/OpenID a inviare richieste HTTP in uscita verso URI scelti dall'attaccante, inclusi servizi interni ed endpoint per i metadati del cloud.
Tre percorsi nel codice recuperano gli URI remoti forniti dal richiedente senza una convalida sufficiente della destinazione. La funzione `Boruta.Oauth.Request.Base.fetch_unsigned_request/1` in `lib/boruta/oauth/request/base.ex` risolve il parametro OAuth `request_uri` dalla richiesta di autorizzazione tramite `Finch.build(:get, request_uri) |> Finch.request(OpenIDHttpClient)`. La funzione `Boruta.Openid.parse_registration_params/2` in `lib/boruta/openid.ex` risolve il `jwks_uri` fornito in una richiesta di registrazione dinamica del client OpenID Connect. Successivamente, la funzione `Boruta.Ecto.Clients.refresh_jwk_from_jwks_uri/1` in `lib/boruta/adapters/ecto/clients.ex` aggiorna il `jwks_uri` memorizzato per un client esistente. In tutti e tre i percorsi, l'unica convalida consiste nel verificare che l'URI sia analizzabile correttamente rispetto allo schema (e una delle due clausole relative a `request_uri` non limita nemmeno lo schema agli schemi http o https). Le implementazioni non richiedono HTTPS, non impongono un elenco consentito di host o indirizzi IP, non rifiutano gli intervalli loopback, privati, link-local o altri intervalli non pubblici dopo la risoluzione DNS, non limitano le dimensioni della risposta e non vincolano i redirect. Di conseguenza, un attaccante può dirigere il client HTTP del server verso obiettivi di rete arbitrari raggiungibili dall'host Boruta.
Questo problema interessa boruta: dalla versione 2.3.2 alla versione precedente a 2.3.7.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.