注目★★★★★GitHub Advisory
Netty の Binary HTTP パーサーに無限ループ脆弱性、DoS の可能性
30秒で把握
- 1Netty codec-bhttp が field section 境界での無限ループで DoS 脆弱性存在
- 2JVM アサーション無効時に readFieldLine() が 0 バイト読み取りを返す設計欠陥
- 3Binary HTTP パーサー利用チームはリリースノート確認後に修正版へアップデート
要約
Netty の `netty-incubator-codec-bhttp` に、既知サイズの field section がちょうどフィールド行境界で終わる場合に無限ループが発生する脆弱性が存在する。リモートの攻撃者が `BinaryHttpParser` / `BinaryHttpDecoder` を使用するパイプラインに細工された Binary HTTP リクエスト / レスポンスを送信することで、パース スレッドを無期限に忙しい状態に保ち、サービス拒否 (DoS) を引き起こせる。脆弱性は `readFieldLine()` が field line の終端で 0 バイト読み取りを返し、JVM アサーション無効時 (本番環境のデフォルト) に `fieldSectionLength` から 0 を永遠に減算し続けることが原因。
あなたへの影響
netty-incubator-codec-bhttp を使用している場合、修正版へのアップデートを近日中に確認推奨。
推奨:特に Binary HTTP パーサーを外部ネットワーク入力に直結させているシステムは優先度を高めるべき。