CVE-2025-15604: TOKUHIROM Amon2 · Generation of Predictable Numbers or Identifiers
Affects TOKUHIROM Amon2Source CVE Database V5
Not known to be exploited · CVSS 9.8 Critical : upgrade to 6.17 as a priority.
Data as of 30 Oct 2026, 11:52 UTC
Contested
Critical score, yet low EPSS after six months- EPSS
- 0.5% chance of exploitation in 30 days – higher than 44% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 6.17
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 28 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade TOKUHIROM Amon2 to 6.17.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| TOKUHIROMAmon2 | Affected
| Fixed in
|
GitHubAmon2pkg:github/Amon2Other threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
If you cannot patch yet, users should avoid running Amon2 versions prior to 6.17 in environments where /dev/urandom may be unavailable or consider applying custom patches to ensure cryptographically secure randomness. Using external cryptographic libraries for random number generation is recommended as a temporary mitigation.
Description
Amon2 versions before 6.17 for Perl use an insecure random_string implementation for security functions. In versions 6.06 through 6.16, the random_string function will attempt to read bytes from the /dev/urandom device, but if that is unavailable then it generates bytes by concatenating a SHA-1 hash seeded with the built-in rand() function, the PID, and the high resolution epoch time. The PID will come from a small set of numbers, and the epoch time may be guessed, if it is not leaked from the HTTP Date header. The built-in rand function is unsuitable for cryptographic usage. Before version 6.06, there was no fallback when /dev/urandom was not available. Before version 6.04, the random_string function used the built-in rand() function to generate a mixed-case alphanumeric string. This function may be used for generating session ids, generating secrets for signing or encrypting cookie session data and generating tokens used for Cross Site Request Forgery (CSRF) protection.
References
- metacpan.org/release/TOKUHIROM/Amon2-6.17/diff/TOKUHIROM/Amon2-6.16 (opens in a new tab)
- metacpan.org/release/TOKUHIROM/Amon2-6.17/changes (opens in a new tab)
- github.com/tokuhirom/Amon/pull/135 (opens in a new tab)
- security.metacpan.org/docs/guides/random-data-for-security.html (opens in a new tab)
- openwall.com/lists/oss-security/2026/03/28/4 (opens in a new tab)