Read the docs
TI-2026-85649 Aliases CVE-2026-103939

OpenEMR Weno module lets any authenticated user empty the pharmacy directory

Priority LOW 25CWE-862Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
None · Low · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-862.

Summary

OpenEMR before 8.3.0 is affected. In the Weno module, the file_download.php script has no access control or CSRF check (CWE-862) and ignores the result of admin credential validation. When the module is enabled, any authenticated user can empty the weno_pharmacy table, and a cross-site request can trigger the same action through a logged-in victim. A failed download can also leave the e-prescribing pharmacy directory empty.

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.3.0, interface/modules/custom_modules/oe-module-weno/scripts/file_download.php has no ACL or CSRF check and ignores the result of validateAdminCredentials(). When the Weno module is enabled, the default GET path calls PharmacyService::removeWenoPharmacies() before attempting a refetch, allowing any authenticated user to truncate the weno_pharmacy table and allowing a cross-site request to trigger the same operation through a logged-in victim. A failed later download can leave the e-prescribing pharmacy directory empty and unavailable. This issue is fixed in version 8.3.0.

Why it matters now

EPSS 0.00389 33rd percentileScored 2026-11-07
Fix Fixed openemr (openemr): 8.3.0

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
openemropenemrbefore 8.3.08.3.0Patch availableCNA
  • openemr Vendoropenemr Affected before 8.3.0 Fixed in 8.3.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*——Open-Emr
  • cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:* Versions — — ·Open-Emr

Remediation

Update OpenEMR to version 8.3.0, which fixes this flaw.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

  • Fix · CNA openemr (openemr) Fixed in 8.3.0

Timeline

  1. 2026-11-05 Threatist record created from CVE-2026-103939
  2. 2026-11-07 Priority changed: MEDIUM → LOW

References

  • 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
See all 153 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences