CVE-2021-39181 json
Unsafe Deserialization of User Data Using XStream
published 5y ago modified 4mo ago also EUVD-2021-25575
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.9%
- EPSS 1.9% chance of exploitation in 30 days, percentile 79%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
Is CVE-2021-39181 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
1.91% chance of exploitation in the next 30 days, higher than 79% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 6.5 | AV:N/AC:L/Au:S/C:P/I:P/A:P |
Affected products
- OpenOLAT OpenOLAT
Classification
- Weakness
-
- CWE-91 XML Injection
References
-
github.com
/OpenOLAT/OpenOLAT/commit/3f219ac457afde82e3be57bc614352ab92c05684
patch, third-party-advisory
-
github.com
/OpenOLAT/OpenOLAT/security/advisories/GHSA-596v-3gwh-2m9w
third-party-advisory
-
jira.openolat.org
/browse/OO-5548
permissions-required
Sources
- CVE List CVE-2021-39181
- NVD CVE-2021-39181
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.