{"id":"CVE-2019-10754","aliases":["EUVD-2022-3859","GHSA-g24w-373r-5pxg"],"status":"published","title":"Use of Insufficiently Random Values in Apereo CAS","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01767,"percentile":0.78245,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-330","CWE-338"],"published":"2019-09-23T22:09:32Z","modified":"2026-10-24T10:30:48Z","fixes":[{"ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-simple-mfa","fixed_in":["6.1.0-RC5"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-oidc","fixed_in":["6.1.0-RC5"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apereo.cas:cas-server-core-services-api","fixed_in":["6.1.0-RC5"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-oauth-core-api","fixed_in":["6.1.0-RC5"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-shell","fixed_in":["6.1.0-RC5"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apereo.cas:cas-server-core-services-authentication","fixed_in":["6.1.0-RC5"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-simple-mfa","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-oidc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apereo.cas:cas-server-core-services-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-oauth-core-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-shell","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apereo.cas:cas-server-core-services-authentication","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-simple-mfa","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}],"versions":["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.0.6","6.0.7","6.0.8","6.0.8.1","6.1.0-RC1","6.1.0-RC2","6.1.0-RC3","6.1.0-RC4","v6.4.0-RC5","v6.4.0-RC6"]},{"source":"osv","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-oidc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}],"versions":["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.10","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.1.0","5.1.0-RC1","5.1.0-RC2","5.1.0-RC3","5.1.0-RC4","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.10","5.3.11","5.3.12","5.3.12.1","5.3.13","5.3.14","5.3.15","5.3.15.1","5.3.16","5.3.2","5.3.3","5.3.4","5.3.5","5.3.6","5.3.7","5.3.8","5.3.9","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.0.6","6.0.7","6.0.8","6.0.8.1","6.1.0-RC1","6.1.0-RC2","6.1.0-RC3","6.1.0-RC4","v6.4.0-RC5","v6.4.0-RC6"]},{"source":"osv","ecosystem":"Maven","package":"org.apereo.cas:cas-server-core-services-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}],"versions":["5.2.0","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.10","5.3.11","5.3.12","5.3.12.1","5.3.13","5.3.14","5.3.15","5.3.15.1","5.3.16","5.3.2","5.3.3","5.3.4","5.3.5","5.3.6","5.3.7","5.3.8","5.3.9","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.0.6","6.0.7","6.0.8","6.0.8.1","6.1.0-RC1","6.1.0-RC2","6.1.0-RC3","6.1.0-RC4","v6.4.0-RC5","v6.4.0-RC6"]},{"source":"osv","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-oauth-core-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}],"versions":["6.1.0-RC2","6.1.0-RC3","6.1.0-RC4","v6.4.0-RC5","v6.4.0-RC6"]},{"source":"osv","ecosystem":"Maven","package":"org.apereo.cas:cas-server-support-shell","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}],"versions":["5.0.0","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.10","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.1.0","5.1.0-RC1","5.1.0-RC2","5.1.0-RC3","5.1.0-RC4","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.10","5.3.11","5.3.12","5.3.12.1","5.3.13","5.3.14","5.3.15","5.3.15.1","5.3.16","5.3.2","5.3.3","5.3.4","5.3.5","5.3.6","5.3.7","5.3.8","5.3.9","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.0.6","6.0.7","6.0.8","6.0.8.1","6.1.0-RC1","6.1.0-RC2","6.1.0-RC3","6.1.0-RC4","v6.4.0-RC5","v6.4.0-RC6"]},{"source":"osv","ecosystem":"Maven","package":"org.apereo.cas:cas-server-core-services-authentication","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.0-RC5"}]}],"versions":["5.2.0","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.10","5.3.11","5.3.12","5.3.12.1","5.3.13","5.3.14","5.3.15","5.3.15.1","5.3.16","5.3.2","5.3.3","5.3.4","5.3.5","5.3.6","5.3.7","5.3.8","5.3.9","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.0.6","6.0.7","6.0.8","6.0.8.1","6.1.0-RC1","6.1.0-RC2","6.1.0-RC3","6.1.0-RC4","v6.4.0-RC5","v6.4.0-RC6"]}],"products":[{"vendor":"apereo","product":"central_authentication_service"}],"references":[{"url":"https://snyk.io/vuln/SNYK-JAVA-ORGAPEREOCAS-467406","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://snyk.io/vuln/SNYK-JAVA-ORGAPEREOCAS-467402","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://snyk.io/vuln/SNYK-JAVA-ORGAPEREOCAS-467404","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://snyk.io/vuln/SNYK-JAVA-ORGAPEREOCAS-468869","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://snyk.io/vuln/SNYK-JAVA-ORGAPEREOCAS-468868","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-10754","tags":["advisory"]},{"url":"https://github.com/apereo/cas/commit/40bf278e66786544411c471de5123e7a71826b9f","tags":["web"]},{"url":"https://github.com/advisories/GHSA-g24w-373r-5pxg"},{"url":"https://github.com/apereo/cas","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2019-10754","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","status":"published","published":"2019-09-23T22:09:32Z","modified":"2024-08-04T22:32:01.987Z","updated_at":"2026-11-02T14:20:19.399352Z"}],"euvd":[{"id":"EUVD-2022-3859","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","status":"published","published":"2019-09-23T22:09:32Z","modified":"2024-08-04T22:32:01Z","updated_at":"2026-11-03T02:40:51.198112Z"}],"ghsa":[{"id":"GHSA-g24w-373r-5pxg","title":"Use of Insufficiently Random Values in Apereo CAS","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","status":"published","published":"2022-05-24T16:56:41Z","modified":"2023-01-30T05:00:50Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-330","CWE-338"],"updated_at":"2026-11-02T14:36:26.667347Z"}],"nvd":[{"id":"CVE-2019-10754","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","status":"published","published":"2019-09-23T23:15:10.64Z","modified":"2026-06-17T02:11:36.467Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-338"],"updated_at":"2026-11-02T14:05:28.126831Z"}],"osv":[{"id":"CVE-2019-10754","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","status":"published","published":"2019-09-23T23:15:10.64Z","modified":"2026-10-24T10:30:48.072893612Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:10.383287Z"},{"id":"GHSA-g24w-373r-5pxg","title":"Use of Insufficiently Random Values in Apereo CAS","description":"Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong.","status":"published","published":"2022-05-24T16:56:41Z","modified":"2025-01-14T07:14:26.961906Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-330","CWE-338"],"updated_at":"2026-11-02T15:46:47.119724Z"}]}}
