Horizon Alert
Summary of the vulnerability and why it matters
This advisory addresses a vulnerability in OpenEMR, a widely used electronic health records system. The issue allows authenticated users with specific permissions to inject malicious code that can execute within the application, potentially enabling unauthorized actions or data access. The primary concern is confirming if this specific technology is in use and understanding its potential exposure.
- Stored malicious code can execute.
- Important for protecting patient data privacy.
- Confirm relevance and assess potential exposure.
Attack Path
How an attacker could exploit the issue
An attacker can begin by gaining authenticated access to OpenEMR, specifically with CAMOS privileges. They can then inject malicious HTML and script content into CAMOS entries via the `ajax_save.php` endpoint. This stored script will execute unencoded when a victim user views the entry through the `rx_print.php` script, allowing the attacker to perform actions or read data as that user.
- Requires authenticated user with CAMOS access.
- Saving malicious CAMOS content triggers the vulnerability.
- Stored script execution can lead to data theft.
Live Threat
Current exploitation, exposure, and threat context
This vulnerability could allow authenticated users to execute arbitrary scripts within the browser of other users when specific content is viewed. This could enable unauthorized actions and data access as the victim user when supported by the advisory.
- User data and system actions at risk.
- Injecting scripts via CAMOS content.
- Unauthorized actions and data reading.
Operational Fix
Recommended remediation, mitigation, and detection steps
Real-World Ownership
Application owners are likely responsible for OpenEMR, with support from infrastructure or platform teams for underlying systems. The first practical move is to identify all OpenEMR instances, confirm their reachability and business criticality, and then engage the accountable owner to plan remediation.
- Identify OpenEMR instances and owners.
- Verify instance reachability and business criticality.
- Plan remediation based on confirmed risk.