CVE-2026-21443
OpenEMR allows inconsistent escaping of translation function output
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the xl() translation function returns unescaped strings. While wrapper functions exist for escaping in different contexts (xlt() for HTML, xla() for attributes, xlj() for JavaScript), there are places in the codebase where xl() output is used directly without escaping. If an attacker could insert malicious content into the translation database, these unescaped outputs could lead to XSS. Version 8.0.0 fixes the issue.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used 1.2
OpenEMR allows inconsistent escaping of translation function output
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the xl() translation function returns unescaped strings. While wrapper functions exist for escaping in different contexts (xlt() for HTML, xla() for attributes, xlj() for JavaScript), there are places in the codebase where xl() output is used directly without escaping. If an attacker could insert malicious content into the translation database, these unescaped outputs could lead to XSS. Version 8.0.0 fixes the issue.
- Record
CVE-2026-21443- CVSS 4.0
- 1.2 Low
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:U - Weakness
- CWE-116
- Updated
- 2026-11-02
EUVDEUVD-2026-8578 1.2
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the xl() translation function returns unescaped strings. While wrapper functions exist for escaping in different contexts (xlt() for HTML, xla() for attributes, xlj() for JavaScript), there are places in the codebase where xl() output is used directly without escaping. If an attacker could insert malicious content into the translation database, these unescaped outputs could lead to XSS. Version 8.0.0 fixes the issue.
- Record
EUVD-2026-8578- CVSS 4.0
- 1.2 Low
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:U - Updated
- 2026-11-02
NVD 1.2
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the xl() translation function returns unescaped strings. While wrapper functions exist for escaping in different contexts (xlt() for HTML, xla() for attributes, xlj() for JavaScript), there are places in the codebase where xl() output is used directly without escaping. If an attacker could insert malicious content into the translation database, these unescaped outputs could lead to XSS. Version 8.0.0 fixes the issue.
- Record
CVE-2026-21443- CVSS 4.0
- 1.2 Low
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-116
- Updated
- 2026-11-02
OSV 1.2
OpenEMR allows inconsistent escaping of translation function output
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the xl() translation function returns unescaped strings. While wrapper functions exist for escaping in different contexts (xlt() for HTML, xla() for attributes, xlj() for JavaScript), there are places in the codebase where xl() output is used directly without escaping. If an attacker could insert malicious content into the translation database, these unescaped outputs could lead to XSS. Version 8.0.0 fixes the issue.
- Record
CVE-2026-21443- CVSS 4.0
- 1.2 Low
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:U - Weakness
- CWE-116
- Updated
- 2026-11-11
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | OSV | |
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-21443 is a low vulnerability (CVSS 1.2) in Open-emr Openemr, published February 25, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.17%, the 6th percentile. No source names a fixed version.