Open redirect in OpenEMR OIDC end session endpoint
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Spoofing
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-601.
Summary
OpenEMR before 8.3.0 is affected. The userSessionLogout() function processes an id_token_hint without verifying its signature and redirects to a caller-supplied post_logout_redirect_uri before checking it against the client's registered redirect URIs, which is an open redirect (CWE-601). An unauthenticated remote attacker can craft a logout link that sends a user to an arbitrary external site and ends the user's session, enabling convincing phishing from the legitimate logout endpoint. The endpoint is reachable when the OpenEMR REST API is enabled.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Description from the CNA
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade OpenEMR to version 8.3.0 or later, which fixes the issue.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
- Fix · CNA openemr (openemr) Fixed in 8.3.0
Timeline
- 2026-11-05 Threatist record created from CVE-2026-103019
References
More openemr vulnerabilities
- TI-2026-24664 SQL Injection Vulnerability in ajax graphs library (OpenEMR) CVSS 3.1HIGH 8.8
- TI-2026-85645 Missing write ACL lets users reassign documents in OpenEMR CVSS 3.1CRITICAL 9.6
- TI-2026-28796 OpenEMR 8.2.0 Remote Code Execution via CategoryTree eval() Injection CVSS 4.0CRITICAL 9.4
- TI-2026-20308 OpenEMR's payments gateway_api_key secret rendered into client JS code CVSS 3.1CRITICAL 9.6
- TI-2026-20093 OpenEMR has SQL Injection in Patient API Sort Parameter CVSS 3.1CRITICAL 10.0
- TI-2026-20048 OpenEMR Arbitrary File Read Vulnerability CVSS 3.1CRITICAL 10.0
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences