CVE-2019-16303 json
JHipster Kotlin using insecure source of randomness `RandomStringUtils` before v1.2.0
published 2019-09-13 7 y ago modified 2026-09-10 1 mo ago also GHSA-j3rh-8vwq-wh84 , GHSA-mwp6-j9wf-968c , EUVD-2020-0493
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.7%
- EPSS 3.7% chance of exploitation in 30 days, percentile 89%
- public exploits
- 0
- none known
Summary
A class generated by the Generator in JHipster before 6.3.0 and JHipster Kotlin through 1.1.0 produces code that uses an insecure source of randomness (apache.commons.lang3 RandomStringUtils). This allows an attacker (if able to obtain their own password reset URL) to compute the value for all other password resets for other accounts, thus allowing privilege escalation or account takeover.
Patch / fix
- npm generator-jhipster-kotlin 1.2.0
- jhipster jhipster 6.3.0
Exploit prediction
3.67% chance of exploitation in the next 30 days, higher than 89% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jhipster/generator-jhipster/issues/10401 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/jhipster/jhipster-kotlin/issues/183 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | generator-jhipster-kotlin | <1.2.0 |
1.2.0 |
Classification
- Weakness
-
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
References
-
github.com
/jhipster/generator-jhipster/commit/88448b85fd3e8e49df103f0061359037c2c68ea7
web, patch, third-party-advisory
-
github.com
/jhipster/jhipster-kotlin/commit/deec3587ef7721cf5de5b960d43e9b68beff6193
web
-
github.com
/jhipster/generator-jhipster/issues/10401
web, exploit, issue-tracking, third-party-advisory
-
github.com
/jhipster/jhipster-kotlin/issues/183
web, exploit, issue-tracking, third-party-advisory
-
jhipster.tech
/2019/09/13/jhipster-release-6.3.0.html
web, release-notes, vendor-advisory
-
github.com
/jhipster/generator-jhipster/security/advisories/GHSA-mwp6-j9wf-968c
web, third-party-advisory
-
lists.apache.org
/thread.html/r6d243e7e3f25daeb242dacf3def411fba32a9388d3ff84918cb28ddd%40%3Cissues.commons.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/rc87fa35a48b5d70b06af6fb81785ed82e82686eb83307aae6d250dc9%40%3Cissues.commons.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/rc3f00f5d3d2ec0e2381a3b9096d5f5b4d46ec1587ee7e251a3dbb897%40%3Cissues.commons.apache.org%3E
mailing-list
-
github.com
/jhipster/jhipster-kotlin/security/advisories/GHSA-j3rh-8vwq-wh84
web
-
nvd.nist.gov
/vuln/detail/CVE-2019-16303
advisory
-
github.com
/jhipster/generator-jhipster
package
-
lists.apache.org
/thread.html/r6d243e7e3f25daeb242dacf3def411fba32a9388d3ff84918cb28ddd@%3Cissues.commons.apache.org%3E
web
-
lists.apache.org
/thread.html/rc3f00f5d3d2ec0e2381a3b9096d5f5b4d46ec1587ee7e251a3dbb897@%3Cissues.commons.apache.org%3E
web
-
lists.apache.org
/thread.html/rc87fa35a48b5d70b06af6fb81785ed82e82686eb83307aae6d250dc9@%3Cissues.commons.apache.org%3E
web
-
snyk.io
/vuln/SNYK-JS-GENERATORJHIPSTER-466980
web
-
npmjs.com
/advisories/1187
web
-
npmjs.com
/advisories/1188
web
-
github.com
/advisories/GHSA-j3rh-8vwq-wh84
advisory
-
github.com
/advisories/GHSA-mwp6-j9wf-968c
advisory
Sources
- CVE List CVE-2019-16303
- GitHub Advisory GHSA-j3rh-8vwq-wh84
- GitHub Advisory GHSA-mwp6-j9wf-968c
- NVD CVE-2019-16303
Fencer Vulns 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.