Description
OpenOlat is an open source web-based e-learning platform for teaching, learning, assessment and communication. Prior to versions 19.1.31, 20.1.18, and 20.2.5, an authenticated user with the Author role can inject Velocity directives into a reminder email template. When the reminder is processed (either triggered manually or via the daily cron job), the injected directives are evaluated server-side. By chaining Velocity's #set directive with Java reflection, an attacker can instantiate arbitrary Java classes such as java.lang.ProcessBuilder and execute operating system commands with the privileges of the Tomcat process (typically root in containerized deployments). This issue has been patched in versions 19.1.31, 20.1.18, and 20.2.5.
Published: 2026-03-30
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Apply Patch
AI Analysis

Impact

The vulnerability is a Server‑Side Template Injection in Velocity templates that allows an authenticated user with the Author role to inject directives, leading to arbitrary code execution on the server. This flaw, identified as CWE‑1336, permits a malicious actor to instantiate Java classes such as java.lang.ProcessBuilder and run operating system commands with the privileges of the Tomcat process, potentially compromising the entire platform.

Affected Systems

The affected product is OpenOLAT, before versions 19.1.31, 20.1.18, and 20.2.5. Users running these older releases are exposed to the risk if reminder email templates can be edited by Authors.

Risk and Exploitability

With a CVSS score of 8.8 the severity is high, yet the EPSS score is below 1 %, indicating low current exploit prevalence. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an authenticated Author role and manipulation of reminder email templates, which may be triggered manually or via a daily cron job; afterward, the injected Velocity directives are evaluated server‑side, enabling remote code execution.

Generated by OpenCVE AI on April 2, 2026 at 21:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade OpenOLAT to versions 19.1.31, 20.1.18, or 20.2.5 or later.
  • If upgrading is not immediately possible, restrict Authors from editing reminder email templates or disable the reminder feature.
  • Audit existing email templates for injected directives and remove any suspicious code.
  • Monitor for any unexpected scheduled email activity or system commands.

Generated by OpenCVE AI on April 2, 2026 at 21:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 02 Apr 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Frentix
Frentix openolat
CPEs cpe:2.3:a:frentix:openolat:*:*:*:*:*:*:*:*
Vendors & Products Frentix
Frentix openolat

Wed, 01 Apr 2026 02:15:00 +0000

Type Values Removed Values Added
First Time appeared Openolat
Openolat openolat
Vendors & Products Openolat
Openolat openolat

Tue, 31 Mar 2026 19:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 31 Mar 2026 03:00:00 +0000

Type Values Removed Values Added
Description OpenOlat is an open source web-based e-learning platform for teaching, learning, assessment and communication. Prior to versions 19.1.31, 20.1.18, and 20.2.5, an authenticated user with the Author role can inject Velocity directives into a reminder email template. When the reminder is processed (either triggered manually or via the daily cron job), the injected directives are evaluated server-side. By chaining Velocity's #set directive with Java reflection, an attacker can instantiate arbitrary Java classes such as java.lang.ProcessBuilder and execute operating system commands with the privileges of the Tomcat process (typically root in containerized deployments). This issue has been patched in versions 19.1.31, 20.1.18, and 20.2.5.
Title OpenOLAT: Server-Side Template Injection (SSTI) in Velocity templates allows Remote Code Execution
Weaknesses CWE-1336
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Frentix Openolat
Openolat Openolat
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-31T18:53:40.837Z

Reserved: 2026-02-25T15:28:40.651Z

Link: CVE-2026-28228

cve-icon Vulnrichment

Updated: 2026-03-31T18:51:13.437Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-30T21:17:08.740

Modified: 2026-04-02T16:57:14.347

Link: CVE-2026-28228

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-03T09:38:02Z

Weaknesses