GitHub Advisoryadvisory · Go

GHSA-w67g-5rqw-f597 Gorilla WebSocket Uses Cryptographically Weak PRNG for WebSocket Mask Key

MEDIUM Published 2026-08-24 Modified 2026-08-24 Official page ↗
Ecosystem
Go
Packages
github.com/gorilla/websocket
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-338
Reviewed
2026-08-24

Affected packages

• Go github.com/gorilla/websocket: < 1.5.3 → fixed in 1.5.3

Description

gorilla/websocket used `math/rand` (cryptographically weak pseudo-random number generator) to generate WebSocket frame mask keys prior to commit d67f4185. WebSocket masking keys MUST be unpredictable to prevent frame content injection attacks. math/rand produces deterministic output when seeded with a known value, enabling an attacker to predict or recover mask keys and inject content into WebSocket connections. Type: Use of Cryptographically Weak Pseudo-Random Number Generator Fix: Replaced math/rand with crypto/rand (commit d67f4185, released in v1.5.3) Credit: bounty-hunter v6.0 silent-fix detection

Related

Weakness · CWE (1)

  • CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) weakness

References