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: Immediate Patch
AI Analysis

Impact

A server‑side template injection flaw in OpenOLAT's Velocity email templates allows an authenticated user with the Author role to inject arbitrary Velocity directives. By chaining the #set directive with Java reflection, the attacker can instantiate classes such as java.lang.ProcessBuilder and execute arbitrary operating system commands with the privileges of the servlet container process (often root in containerized deployments). This is a high‑severity vulnerability classified as CWE‑1336. The impact is full remote code execution, enabling complete compromise of the underlying hosting system.

Affected Systems

The vulnerability affects the OpenOLAT e‑learning platform. Versions prior to 19.1.31, 20.1.18, and 20.2.5 are vulnerable. Users running any of these release lines are at risk unless they have applied the corresponding patches.

Risk and Exploitability

The flaw carries a CVSS score of 8.8, indicating a high risk. No EPSS score is available, and the vulnerability is not listed in CISA’s KEV catalog, suggesting it may not yet be widely exploited. Nevertheless, exploitation requires an authenticated author user and access to the email template editor, making the attack vector a authenticated network attack. Once access is gained, the attacker can achieve complete system compromise.

Generated by OpenCVE AI on March 31, 2026 at 05:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the official patch by upgrading OpenOLAT to version 19.1.31, 20.1.18, or 20.2.5 or later.
  • Verify the current OpenOLAT version and ensure the application has been restarted to load the updated code.
  • Restrict the Author role or disable Velocity template editing for users who do not need it, if a patch cannot be applied immediately.
  • Monitor the email template configuration and application logs for suspicious changes or execution attempts.

Generated by OpenCVE AI on March 31, 2026 at 05:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

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 : Received

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

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

Link: CVE-2026-28228

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-31T20:40:06Z

Weaknesses