General OpenMRS Security Advisory, January 2025: Penetration Testing Results and Patches
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Information disclosure, Security bypass, Spoofing
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-209, CWE-284 and CWE-601.
Summary
### Impact We recently underwent Penetration Testing of OpenMRS by a third-party company. **Vulnerabilities were found, and fixes have been made and released.** We've released security updates that include critical fixes, and so, we strongly recommend upgrading affected modules. **This notice applies to _all_ OpenMRS instances.** The testers used the OpenMRS v3 Reference Application (O3 RefApp); however, their findings highlighted modules commonly used in older OpenMRS applications, including the O2 RefApp. ## Vulnerability Details - The issues uncovered included broken access control (e.g. inappropriate admin access), phishing vulnerability, and stored XSS (e.g. vulnerable passwords). - No vulnerabilities were found in the O3 frontend esm modules. - The Letter of Attestation from the penetration test is [available here](https://drive.google.com/file/d/1sBm4-FzLA8hSoM9wYknBfgEttBHyLvoU/view?usp=sharing) for your reference. - After the fixes were applied, the OpenMRS O3 RefApp met a Security Level of “Excellent, Grade A”. - The full detailed Remediation Pentest Report is available to Implementation Technical Leads upon request. ### Patches **Minimum Requirements for Implementers:** We **strongly** recommend upgrading your modules to the following versions (or greater) as soon as possible. **This is the minimum amount to do and be protected from the vulnerabilities found and fixed.** The following versions contain the patch: - **Platform** 2.6.11+ - How: Increase your platform version number wherever this is specified in your implementation. If you use the OpenMRS SDK, this will be in the distro.properties file. - Notes: - The newly released [**Platform 2.7**](https://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_2.7.0/) also includes the fixes. [Release Notes and more download options here](https://openmrs.atlassian.net/wiki/x/XoBzEQ). - Platform 2.6.8+ has most of the fixes, but these are broken if you don't use SSL, so Platform 2.6.11 or higher is preferred. - For those still on Platform 2.5+ such as the Bahmni ecosystem, the new [2.5.14](https://ci.openmrs.org/browse/TRUNK-CORE2-232) release includes the patch. _Bahmni note: The upcoming patch release for both Bahmni Lite and Bahmni Standard will incorporate these security fixes._ - **Legacy UI** OMOD 1.21.0+ ([here](https://addons.openmrs.org/show/org.openmrs.module.legacyui)) - **ID Gen** OMOD 4.14.0+ ([here](https://addons.openmrs.org/show/org.openmrs.module.idgen)) - **Address Hierarchy** OMOD 2.19.0+ ([here](https://addons.openmrs.org/show/org.openmrs.module.addresshierarchy)) - **Attachments** OMOD 3.6.0+ ([here](https://addons.openmrs.org/show/org.openmrs.module.attachments)) - **Patient Flags** OMOD 3.0.8+ ([here](https://addons.openmrs.org/show/org.openmrs.module.patientflags)) ### Workarounds There are no practical workarounds to fix or remediate the vulnerabilities without upgrading. Technically, you could remove the affected OMODs, but this would badly degrade the system's functionality. ## Thank you to our amazing Security contributors! Thank you to security firm UnderDefense, and to the OpenMRS Security Group contributors for their patch support - specific thanks to Daniel Kayiwa, Samuel Lubwama, Ian Bacher, Rafal Korytkowski, and Michael Seaton.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | org.openmrs:openmrs (Maven) | before 2.6.11 | 2.6.11 | Patch available | GHSA-vpxm-cr3r-pjp9 |
| — | org.openmrs.module:legacyui (Maven) | before 1.21.0 | 1.21.0 | Patch available | GHSA-vpxm-cr3r-pjp9 |
| — | org.openmrs.module:idgen (Maven) | before 4.14.0 | 4.14.0 | Patch available | GHSA-vpxm-cr3r-pjp9 |
| — | org.openmrs.module:addresshierarchy (Maven) | before 2.19.0 | 2.19.0 | Patch available | GHSA-vpxm-cr3r-pjp9 |
| — | org.openmrs.module:attachments (Maven) | before 3.6.0 | 3.6.0 | Patch available | GHSA-vpxm-cr3r-pjp9 |
| — | org.openmrs.module:patientflags (Maven) | before 3.0.8 | 3.0.8 | Patch available | GHSA-vpxm-cr3r-pjp9 |
- org.openmrs:openmrs (Maven) Vendor— Affected before 2.6.11 Fixed in 2.6.11 Patch available GHSA-vpxm-cr3r-pjp9
- org.openmrs.module:legacyui (Maven) Vendor— Affected before 1.21.0 Fixed in 1.21.0 Patch available GHSA-vpxm-cr3r-pjp9
- org.openmrs.module:idgen (Maven) Vendor— Affected before 4.14.0 Fixed in 4.14.0 Patch available GHSA-vpxm-cr3r-pjp9
- org.openmrs.module:addresshierarchy (Maven) Vendor— Affected before 2.19.0 Fixed in 2.19.0 Patch available GHSA-vpxm-cr3r-pjp9
- org.openmrs.module:attachments (Maven) Vendor— Affected before 3.6.0 Fixed in 3.6.0 Patch available GHSA-vpxm-cr3r-pjp9
- org.openmrs.module:patientflags (Maven) Vendor— Affected before 3.0.8 Fixed in 3.0.8 Patch available GHSA-vpxm-cr3r-pjp9
Remediation
- Fix · GHSA-vpxm-cr3r-pjp9 org.openmrs:openmrs (Maven) Fixed in 2.6.11 Advisory →
- Fix · GHSA-vpxm-cr3r-pjp9 org.openmrs.module:legacyui (Maven) Fixed in 1.21.0 Advisory →
- Fix · GHSA-vpxm-cr3r-pjp9 org.openmrs.module:idgen (Maven) Fixed in 4.14.0 Advisory →
- Fix · GHSA-vpxm-cr3r-pjp9 org.openmrs.module:addresshierarchy (Maven) Fixed in 2.19.0 Advisory →
- Fix · GHSA-vpxm-cr3r-pjp9 org.openmrs.module:attachments (Maven) Fixed in 3.6.0 Advisory →
- Fix · GHSA-vpxm-cr3r-pjp9 org.openmrs.module:patientflags (Maven) Fixed in 3.0.8 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-vpxm-cr3r-pjp9
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences