LiveActive security incident?Get immediate response
CVE Record

CVE-2021-39181: Unsafe Deserialization of User Data Using XStream

OpenOlat is a web-based learning management system (LMS). Prior to version 15.3.18, 15.5.3, and 16.0.0, using a prepared import XML file (e.g. a course) any class on the Java classpath can be instantiated, including spring AOP bean factories. This can be used to execute code arbitrary code by the attacker. The attack requires an OpenOlat user account with the authoring role. It can not be exploited by unregistered users. The problem is fixed in versions 15.3.18, 15.5.3, and 16.0.0. There are no known workarounds aside from upgrading.

HighCVSS 8.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

OpenOLAT had a dangerous import-file parsing flaw that could let a logged-in author run code on the server. It is not reachable by anonymous users, but a compromised or malicious author account could turn LMS access into full system compromise.

Executive priority

Prioritize remediation as high where OpenOLAT supports external authors, partners, or many privileged course creators. The flaw can lead to server code execution, but requires authenticated author access rather than anonymous internet access.

Technical view

CVE-2021-39181 is unsafe deserialization through XStream during prepared XML import, such as course import. A user with OpenOLAT authoring privileges could instantiate arbitrary Java classpath classes, including Spring AOP bean factories, leading to arbitrary code execution. Fixed releases are 15.3.18, 15.5.3, and 16.0.0.

Likely exposure

Exposure is likely limited to OpenOLAT deployments running vulnerable versions before the fixed releases, especially where many users have authoring roles. The source states unregistered users cannot exploit it.

Exploitation context

The bundle reports no KEV listing and provides no evidence of active exploitation. Exploitation requires an OpenOLAT account with the authoring role and a prepared import XML file. Successful exploitation could affect confidentiality, integrity, and availability.

Researcher notes

Focus validation on version, authoring-role exposure, and import workflows. The evidence identifies unsafe XStream deserialization and arbitrary Java class instantiation, but does not provide public exploitation evidence or a workaround beyond upgrade.

Mitigation direction

  • Upgrade OpenOLAT to 15.3.18, 15.5.3, 16.0.0, or later.
  • Treat role reduction as risk reduction, not a complete workaround.
  • Review and minimize users with the authoring role until upgraded.
  • Check OpenOLAT vendor guidance for any deployment-specific instructions.
  • Prioritize upgrades for internet-accessible or multi-tenant LMS instances.

Validation and detection

  • Inventory all OpenOLAT instances and record exact versions.
  • Confirm each instance runs 15.3.18, 15.5.3, 16.0.0, or later.
  • Review authoring-role assignments for unexpected or stale accounts.
  • Check import activity for unexpected course or XML imports.
  • Confirm change records show the fixed OpenOLAT release was deployed.
Prepared
Confidence
high
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-91: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

Execution behavior lookup

The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2021-39181 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
8.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
8.8CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H2.85.9Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

8.8High
CVSS 3.1 vector shape for CVE-2021-39181Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
OpenOLATOpenOLAT< 15.3.18, >= 15.4.0, < 15.5.3Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-91 · source CWE mapping

XML Injection (aka Blind XPath Injection)

XML Injection (aka Blind XPath Injection) represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.