Insecure staging of decrypted patient documents in OpenEMR FaxSMS
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-200.
Summary
OpenEMR before 8.2.0 contains an issue in its FaxSMS module, where the SignalWireClient component writes decrypted patient documents as plaintext files under the site's fax directory in the webroot. The staged file is protected only by a predictable uniqid() filename and is never removed. An unauthenticated network attacker who obtains or guesses the public URL can retrieve persistent patient documents, even when drive encryption 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.2.0, interface/modules/custom_modules/oe-module-faxsms/src/Controller/SignalWireClient.php decrypts a selected patient document with Document::get_data() and SignalWireClient::uploadFileForFax() writes the plaintext bytes under sites/{siteId}/fax. The module returns the resulting public URL to SignalWire, protects it only with a predictable uniqid() filename, and never removes the staged file. An unauthenticated network actor who obtains or guesses the URL can retrieve persistent patient documents even when drive encryption is enabled. This issue is fixed in version 8.2.0.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Update OpenEMR to version 8.2.0. The sources list no fixed version for any other OpenEMR release line.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
- Fix · CNA openemr (openemr) Fixed in 8.2.0
Timeline
- 2026-11-05 Threatist record created from CVE-2026-65983
- 2026-11-07 Priority changed: MEDIUM → LOW
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