WaratekVRT Sign in

CVE-2026-41258

Severity9.1 Critical CVSS 3.1
Fixed in2.7.9, 2.8.6
WeaknessCode injection (CWE-94)
Published15 May 2026
Updated26 Oct 2026

Description

OpenMRS is an open source electronic medical record system platform. From 2.7.0 to before 2.7.9 and 2.8.6, the ConceptReferenceRangeUtility.evaluateCriteria() method in OpenMRS Core evaluates database-stored criteria strings as Apache Velocity templates without any sandbox configuration. The VelocityEngine is initialized with only logging properties and noSecureUberspector, leaving the default UberspectImpl in place, which allows unrestricted Java reflection through template expressions. A user with the Manage Concepts privilege can store a malicious Velocity template expression in a concept's reference range criteria field. This payload is then executed automatically whenever a user or API call validates an observation against the affected concept. The Velocity context exposes $patient (the Person / Patient object), $obs (the Obs object), and $fn (the ConceptReferenceRangeUtility instance with access to the full OpenMRS service layer). This vulnerability is fixed in 2.7.9 and 2.8.6.

Exploitation status

No public exploit

No exploit has been reported in the sources we check.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment exploitation: none
  • Indexed PoC none indexed
  • EPSS 0.32% chance in 30 days

Waratek protection

No exploit published

Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.

A public code fix exists: openmrs/openmrs-core 8d1c193.

  • Protection none
  • Action unverified
  • Review automated Upstream data
  • Record active
Decided by Exploit code for this candidate, published in a reviewed catalogue or a GitHub repository with 5 or more stars, or in use per CISA or VulnCheck; not only a CISA verdict, a forecast, or nothing at all
Finding This CVE is not listed in CISA KEV or VulnCheck KEV, CISA Vulnrichment records no active exploitation, no reviewed exploit catalogue carries an entry for it, and no GitHub PoC repository for it has 5 or more stars. Nobody has published exploit code worth tracing, so it is not a candidate for a rule ahead of the ones where somebody has; an upstream fix path does exist, so the remediation half of the candidacy still holds. This is a statement about what has been published, not about whether the defect is reachable or serious.
Candidate fix https://github.com/openmrs/openmrs-core/security/advisories/GHSA-xj4f-8jjg-vx4q : the maintainers' own security advisory: names the version that fixes it, so the fix is the difference between two releases

Affected software and releases

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.openmrs.api:openmrs-api 2.7.0 2.7.9 unbounded
org.openmrs.api:openmrs-api 2.8.0 2.8.6 unbounded

Products and versions

1 product, 2 version entries
SourceVendorProductSchemeAffected versions
osv org.openmrs.api openmrs-api generic ≥ 2.7.0 and < 2.7.9 · ≥ 2.8.0 and < 2.8.6

References

URLTags
https://github.com/openmrs/openmrs-core/security/advisories/GHSA-xj4f-8jjg-vx4q advisory
https://github.com/openmrs/openmrs-core/commit/8d1c193 WEB
https://github.com/openmrs/openmrs-core PACKAGE
https://www.machinespirits.com/advisory/1e8430 WEB

Timeline

Published2026-05-15By the CVE Program.
NVD record modified2026-10-26NVD's own last-modified date for this record.