---
id: "CVE-2026-103019"
kind: "vulnerability"
aliases: ["CVE-2026-103019"]
title: "OpenEMR: logout endpoint open redirect enables phishing from legitimate links"
severity: "medium"
cvss: 4.3
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["healthcare", "openemr", "php", "runtime", "self-hosted"]
not_affected_if: ["rest-api-disabled", "version-8.3.0-or-later"]
published_at: "2026-11-05T20:17:37+00:00"
first_seen_at: "2026-11-05T20:40:43+00:00"
updated_at: "2026-11-05T20:43:34+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-103019", "first_seen_at": "2026-11-05T20:40:43+00:00"}]
exploit_sources: []
---

# OpenEMR: logout endpoint open redirect enables phishing from legitimate links

OpenEMR's logout handler redirects to an attacker-supplied URL before checking it against registered redirect URIs, and it does not verify the signature of the id_token_hint it reads. An attacker can craft a logout link on the real OpenEMR site that sends a user to an external page and ends their session.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Confirm the OpenEMR version in use, for example from the version shown in the admin footer or the `version` file in the install directory.
- Check whether the REST API is enabled in the OpenEMR globals or API settings; the sources say the endpoint is reachable only when it is.

## Fix

- OpenEMR versions before `8.3.0`: move to `8.3.0`.

## Timeline

- 2026-11-05T20:40:43+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-103019

## Documents

- [advisory] Vendor advisory: github.com https://github.com/openemr/openemr/security/advisories/GHSA-5h9g-m7q2-pv45
- [fix] Patch: github.com https://github.com/openemr/openemr/commit/50f789fad45ada625fe8d0faf0c7a9c15ef52aa5
- [fix] Release notes: github.com https://github.com/openemr/openemr/releases/tag/v8_3_0

## From the sources

OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, userSessionLogout() in src/RestControllers/AuthorizationController.php uses decodeToken() to process an id_token_hint without verifying its signature and, when the referenced trusted session is absent, redirects to the caller-supplied post_logout_redirect_uri before validating it against the client's registered redirect URIs. An unauthenticated attacker can craft a logout link that sends a user to an arbitrary external site and invalidates the user's session, enabling convincing phishing flows from the legitimate logout endpoint. The endpoint is reachable when the OpenEMR REST API is enabled. This issue is fixed in version 8.3.0.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
