注目★★★★★GitHub Advisory
Gorilla WebSocket の暗号弱い乱数生成器、フレーム偽造に悪用可能―v1.5.3 で修正
30秒で把握
- 1Gorilla WebSocket が WebSocket マスクキー生成に暗号弱い math/rand を使用、フレーム偽造を許容
- 2既知シード値でマスクキーが予測可能となり、接続先への内容注入攻撃が成立
- 3v1.5.3 で crypto/rand に置き換え修正。本番運用中のアプリは即時アップデート確認必須
要約
Gorilla WebSocket は v1.5.3 より前、WebSocket フレームのマスクキー生成に暗号学的に弱い math/rand を使用していた。math/rand はシード値が既知なら決定論的な出力を生成するため、攻撃者がマスクキーを予測・復号し、WebSocket 接続へのフレーム内容注入攻撃が可能だった。修正では crypto/rand に置き換え、予測不可能なマスクキーを確保した。v1.5.3 以降へのアップデートが推奨される。
あなたへの影響
Gorilla WebSocket を本番の Go アプリケーションで使用している場合は、v1.5.3 以降へのアップデートを早期に検討すべき。
推奨:特に認証情報やデータ操作を WebSocket で処理するシステムは優先度を高める。