Fiber v2のGo 1.24+における重大なUUID脆弱性により、セッションハイジャックとCSRF保護のバイパスが可能に

Goデベロッパーにとって重大な警鐘となる事態として、セキュリティ研究者ReneWerner87が4日前にGHSA-68rr-p4fp-j59vを公開し、人気の高いFiber v2ウェブフレームワークにおける重大な脆弱性を明らかにしました。

明示的にエラーを出す代わりに、FiberのUUID関数は静かに脆弱で予測可能な値にフォールバックします。Go 1.24+ではエントロピー不足時にブロックまたはパニックすることでこれを修正していますが、Fiber v2は依然として古いGoランタイム(1.23まで)をサポートしており、アプリケーションが脅威にさらされています。

これは単なる軽微な不具合ではなく、セキュリティ上の大惨事です。セッション管理、CSRF保護、レート制限、リクエストIDなど、多くのFiberミドルウェアがデフォルトでこれらのUUIDに依存しています。

攻撃者はハイジャックのためにセッションIDを予測したり、CSRF保護をバイパスするためにCSRFトークンを偽造したり、認証トークンを再利用したり、すべてのトラフィックを単一の「ゼロキー」バケットに強制することでDoSを引き起こすことができます。これによりキャッシュ、セッション、ロックが破損し、システムが圧倒されます。

この問題は特に厄介な環境で深刻な影響を及ぼします:Dockerコンテナ、chrootジェイル、組み込みデバイス、またはエントロピーが不足している設定ミスのあるサーバーなどです。

最新のLinuxカーネルではランダム性が枯渇することはまれですが、制限された環境では障害が頻繁に発生します。

影響を受けるバージョンは2.52.11より前のすべてのFiber v2です;直ちに2.52.11にパッチを適用してください。ベンダー化されたutilsに対するアップストリームの修正はまだ存在しません。

この脆弱性は重要な教訓を浮き彫りにしています:暗号化コードにおける静かなフォールバックは危険です。開発者はランダム性を明示的に検証する必要があります。Fiberメンテナーは脆弱なutilsを削除し、Goの最新の保証に合わせることが強く推奨されます。

翻訳元: https://cyberpress.org/uuid-flaw/

ソース: cyberpress.org