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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-53728
GHSA-M44R-7C5H-M6MJ

Produtos afetados

@Medplum/Core
Medplum