Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) Affecting github.com/gofiber/utils/v2 package, versions <1.2.0>=2.0.0-beta.1 <2.0.0-rc.4


Severity

Recommended
0.0
critical
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.47% (39th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-GOLANG-GITHUBCOMGOFIBERUTILSV2-14236606
  • published10 Dec 2025
  • disclosed8 Dec 2025
  • creditUnknown

Introduced: 8 Dec 2025

CVE-2025-66565  (opens in a new tab)
CWE-252  (opens in a new tab)
CWE-331  (opens in a new tab)
CWE-338  (opens in a new tab)

How to fix?

Upgrade github.com/gofiber/utils/v2 to version 1.2.0, 2.0.0-rc.4 or higher.

Overview

Affected versions of this package are vulnerable to Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) due to the UUIDv4 and UUID functions silently returning predictable values, such as the zero UUID, when the cryptographic random number generator fails. An attacker can compromise the integrity and confidentiality of security-sensitive identifiers by triggering or exploiting failures in the system's entropy source, leading to predictable session IDs, CSRF tokens, authentication tokens, and widespread identifier collisions across the application.

Note: Applications running on Go 1.24 or above are not vulnerable because Rand() panics rather than falling back to predictable UUID assignment.

Workaround

This vulnerability can be mitigated by replacing usage of the affected functions with a secure alternative, such as using uuid.New() from a trusted library.

CVSS Base Scores

version 4.0
version 3.1