CVE-2026-104138 · Runtime
NO FIX YET · SEE WHAT TO DO
OpenEMR's custom QRDA report download endpoints skip the patients/med access check and accept any report_id, so a low-privilege logged-in user can fetch report files they should not see. Those files can contain clinical documents for patients in a measure.
first public Aug 18, 2026 · 1 source
Check it with your coding agent
It checks your repository and tells you if you’re affected, with the fix.
Clinics and practices that run OpenEMR 8.2 or earlier and generate CQM/QRDA reports are exposed to any authenticated user with a low-privilege role. Installations that do not use these custom endpoints or do not generate QRDA reports are less exposed. unknown whether the sources list other conditions.
Not affected if no-qrda-reports, version-8.3.0-or-later
Who cares healthcare, openemr, php, self-hosted
8.3.0 are in scope.custom/ajax_download.php, custom/download_qrda.php, custom/export_qrda_xml.php and custom/qrda_download.php in the install.8.3.0OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, custom/ajax_download.php, custom/download_qrda.php, custom/export_qrda_xml.php, and custom/qrda_download.php validate CSRF but do not enforce the patients/med ACL used by the canonical CQM report page. The endpoints also accept an unscoped report_id, allowing a low-privilege authenticated user to reach report generation and download logic for other reports. In a clinic with generated CQM reports, this can expose QRDA Category One and Category Three clinical documents for patients in a measure. This issue is fixed in version 8.3.0.
This page as ·
Are you affected?
Tell InfraStack what you run. It checks this one, and every next one, against your stack.
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.