Weak pseudo-random number generator in Apereo CAS



Published: 2019-09-24
Risk Medium
Patch available YES
Number of vulnerabilities 1
CVE ID CVE-2019-10754
CWE ID CWE-338
Exploitation vector Network
Public exploit Public exploit code for vulnerability #1 is available.
Vulnerable software
Subscribe
Apereo CAS
Web applications / Other software

Vendor Apereo Foundation

Security Advisory

This security advisory describes one medium risk vulnerability.

1) Use of cryptographically weak pseudo-random number generator (PRNG)

Risk: Medium

CVSSv3: 5.9 [CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N/E:P/RL:O/RC:C] [PCI]

CVE-ID: CVE-2019-10754

CWE-ID: CWE-338 - Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)

Exploit availability: No

Description

The vulnerability allows a remote attacker to bypass authentication.

The vulnerability exists due to the application generates tokens using a weak cryptographic algorithm provided by Apache commons-lang3 RandomStringUtils. A remote attacker can guess randomly generate tokens and bypass security restriction that rely on these tokens.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Apereo CAS: 3.0, 3.0.1, 3.0.1-M1, 3.0.1-RC1, 3.0.1.1-RC1, 3.0.2, 3.0.2-M2, 3.0.2-RC2, 3.0.2.1-RC1, 3.0.3, 3.0.3-M3, 3.0.3.1-RC1, 3.0.3.2-RC2, 3.0.4, 3.0.4.1-RC1, 3.0.4.2-RC2, 3.0.5, 3.0.5.1-RC1, 3.0.5.2-RC2, 3.0.5.3-RC3, 3.0.6, 3.0.6.1-RC1, 3.0.7, 3.0.7.1-RC1, 3.1.0, 3.1.1, 3.1.1-M1, 3.1.1-RC1, 3.1.1.1-RC1, 3.1.1.2-RC2, 3.1.2, 3.1.2-M2, 3.1.2-RC2, 3.1.3-M3, 3.1.3-RC3, 3.1.4-RC4, 3.2.0, 3.2.0.1-RC1, 3.2.0.2-RC2, 3.2.0.3-RC3, 3.2.0.4-RC4, 3.2.1, 3.2.1.1, 3.2.1.1-RC1, 3.2.1.2-RC2, 3.2.2.1-RC1, 3.3.0, 3.3.1, 3.3.2, 3.3.2-RC2, 3.3.3, 3.3.3-RC3, 3.3.4, 3.3.5, 3.3.5.1, 3.4.0, 3.4.1, 3.4.2, 3.4.2.1, 3.4.3, 3.4.3.1, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.4.11, 3.4.11-RC1, 3.4.12, 3.4.12-RC1, 3.4.12.1, 3.5.0, 3.5.0-RC1, 3.5.0-RC2, 3.5.1, 3.5.1-RC1, 3.5.2, 3.5.2-CAS-1181, 3.5.2.1, 3.5.3, 3.6.0, 4.0.0, 4.0.0-RC1, 4.0.0-RC2, 4.0.0-RC3, 4.0.0-RC4, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.1.0, 4.1.0-RC1, 4.1.0-RC2, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.1.7, 4.1.8, 4.1.9, 4.1.10, 4.2.0, 4.2.0-RC1, 4.2.0-RC2, 4.2.0-RC3, 4.2.1, 4.2.2, 4.2.3, 4.2.4, 4.2.5, 4.2.6, 4.2.7, 5.0.0, 5.0.0.M1, 5.0.0.M2, 5.0.0.M3, 5.0.0.RC1, 5.0.0.RC2, 5.0.0.RC3, 5.0.0.RC4, 5.0.1, 5.0.2, 5.0.3, 5.0.3.1, 5.0.4, 5.0.5, 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.0.10, 5.1.0, 5.1.0-RC1, 5.1.0-RC2, 5.1.0-RC3, 5.1.0-RC4, 5.1.0.RC1, 5.1.1, 5.1.2, 5.1.3, 5.1.4, 5.1.5, 5.1.6, 5.1.7, 5.1.8, 5.1.9, 5.2.0, 5.2.0-RC1, 5.2.0-RC2, 5.2.0-RC3, 5.2.0-RC4, 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.2.5, 5.2.6, 5.2.7, 5.2.8, 5.2.9, 5.3.0, 5.3.0-RC1, 5.3.0-RC2, 5.3.0-RC3, 5.3.0-RC4, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5, 5.3.6, 5.3.7, 5.3.8, 5.3.9, 5.3.10, 5.3.11, 5.3.12, 5.3.12.1, 6.0.0, 6.0.0-RC1, 6.0.0-RC2, 6.0.0-RC3, 6.0.0-RC4, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.5.1, 6.1.0-RC1, 6.1.0-RC2, 6.1.0-RC3, 6.1.0-RC4

CPE External links

https://github.com/alex91ar/randomstringutils
https://github.com/apereo/cas/commit/40bf278e66786544411c471de5123e7a71826b9f
https://medium.com/@alex91ar/the-java-soothsayer-a-practical-application-for-insecure-randomness-c67...

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability. However, proof of concept for this vulnerability is available.



###SIDEBAR###