PT-2026-76718 · Npm+2 · @Medplum/Core+1
CVE-2026-53728
·
Publicado
2026-08-17
·
Atualizado
2026-09-04
CVSS v3.1
7.1
Alta
| Vetor | AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L |
Nome do Software Vulnerável e Versões Afetadas
Medplum versões anteriores a 5.1.6
Descrição
Existe um problema no callback do provedor de identidade externo no endpoint 'GET /auth/external'. O sistema aceita URIs de redirecionamento que precisam apenas começar com uma URI de redirecionamento de cliente registrada, em vez de exigir uma correspondência exata. Como o
state da solicitação de login externo é serializado como JSON bruto e confiado pelo callback, um invasor pode adulterar a variável state.redirectUri para redirecionar artefatos de autorização, especificamente os valores login e code, para um endpoint controlado pelo invasor. Isso ocorre dentro da função externalCallbackHandler(), que utiliza getClientRedirectUri() para realizar uma verificação de correspondência parcial usando o método startsWith(). Se uma URI de redirecionamento registrada for uma origem simples ou um prefixo que possa ser estendido para um hostname diferente, isso resulta em um vazamento de código de autorização cross-origin, podendo levar ao sequestro total da conta e acesso não autorizado a informações de saúde protegidas.Recomendações
Atualizar para a versão 5.1.6.
Exigir igualdade exata de string para URIs de redirecionamento.
Vincular o estado de autenticação externa a uma sessão do lado do servidor ou usar um HMAC/Assinatura.
Rejeitar formatos de URI de redirecionamento prefixáveis ou ambíguos durante o registro.
Exploit
Correção
Open Redirect
Insufficient Verification of Data Authenticity
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
@Medplum/Core
Medplum