CVE-2019-10755 json
Use of Cryptographically Weak Pseudo-Random Number Generator in org.pac4j:pac4j-saml
published 7y ago modified last mo. also GHSA-rc75-cf5c-mxvh , EUVD-2019-0762
- cvss
- 4.9
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.1%
- EPSS 1.1% chance of exploitation in 30 days, percentile 66%
- public exploits
- 0
- none known
Summary
The SAML identifier generated within SAML2Utils.java was found to make use of the apache commons-lang3 RandomStringUtils class which makes them predictable due to RandomStringUtils PRNG's algorithm not being cryptographically strong. This issue only affects the 3.X release of pac4j-saml.
Patch / fix
- maven org.pac4j:pac4j-saml 3.8.2
- github.com/pac4j/pac4j@34d5b10 commit
- snyk.io/vuln/SNYK-JAVA-ORGPAC4J-467407 advisory
Is CVE-2019-10755 in your dependencies? 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.13% chance of exploitation in the next 30 days, higher than 66% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 4.9 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 4.0 | AV:N/AC:L/Au:S/C:P/I:N/A:N |
| GitHub | 3.1 | 4.9 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.pac4j:pac4j-saml | <3.8.2 |
3.8.2 |
Affected products
- n/a PAC4J For SAML Protocol
Classification
- Weakness
-
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
References
-
snyk.io
/vuln/SNYK-JAVA-ORGPAC4J-467407
web, patch, third-party-advisory
-
github.com
/pac4j/pac4j/commit/34d5b1028a2db201ee81ec51b52a782fe073f609
web
-
nvd.nist.gov
/vuln/detail/CVE-2019-10755
advisory
Sources
- CVE List CVE-2019-10755
- GitHub Advisory GHSA-rc75-cf5c-mxvh
- NVD CVE-2019-10755
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.