GHSA-w67g-5rqw-f597 json
Gorilla WebSocket Uses Cryptographically Weak PRNG for WebSocket Mask Key
published 2mo ago modified 2mo ago also GO-2026-6278
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
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
Patch / fix
- go github.com/gorilla/websocket 1.5.3
Is GHSA-w67g-5rqw-f597 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 FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/gorilla/websocket | <1.5.3 |
1.5.3 |
Classification
- Weakness
-
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
References
Sources
- GitHub Advisory GHSA-w67g-5rqw-f597
- OSV GO-2026-6278
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.