Miggo Logo

CVE-2020-5222: Hard-Coded Key Used For Remember-me Token in Opencast

6.8

CVSS Score
3.1

Basic Information

EPSS Score
0.492%
Published
1/30/2020
Updated
1/9/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.opencastproject:opencast-kernelmaven< 7.67.6
org.opencastproject:opencast-kernelmaven>= 8.0, < 8.18.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from a hard-coded 'key' value in the Spring Security configuration file (etc/security/mh_default_org.xml), not from a specific code function. The XML configuration line <sec:remember-me key="opencast" ... /> statically defines the cryptographic key used for remember-me token generation. This key is shared across all installations, making tokens portable between systems. While the fix introduces a custom class (SystemTokenBasedRememberMeService) to dynamically generate the key, the vulnerability itself resides in the configuration setup rather than a specific code function. The original implementation used Spring's default TokenBasedRememberMeService with a static key, but this is part of the framework, not Opencast's code. Thus, no Opencast code functions are directly implicated with high confidence.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t T** s**urity *on*i*ur*tion in `*t*/s**urity/m*_****ult_or*.xml` *n**l*s * r*m*m**r-m* *ooki* **s** on * **s* *r**t** *rom t** [us*rn*m*, p*sswor*, *n* *n ***ition*l syst*m k*y](*ttps://*o*s.sprin*.io/sprin*-s**urity/sit*/*o*s/*.*.x/r***r*

Reasoning

T** vuln*r**ility st*ms *rom * **r*-*o*** 'k*y' v*lu* in t** Sprin* S**urity *on*i*ur*tion *il* (*t*/s**urity/m*_****ult_or*.xml), not *rom * sp**i*i* *o** *un*tion. T** XML *on*i*ur*tion lin* `<s**:r*m*m**r-m* k*y="op*n**st" ... />` st*ti**lly ***in