OpenSSLに未告知の脆弱性「HollowByte」発覚
- OpenSSLのTLS処理に、わずか11バイトの通信でサーバーメモリを消費させる欠陥が見つかったと報じられている
- OpenSSLは6月9日リリースで修正済みだが、CVE番号もアドバイザリも公開していないという
- Oktaのレッドチームが発見し「HollowByte」と命名、詳細を公表した
かんたんに言うと
OpenSSLというウェブサイトの通信を暗号化する基盤ソフトに、少量のデータ送信だけでサーバーの動作を止めかねない不具合が見つかりました。すでに修正版は出ているので、自社のシステムが最新版か至急確認してください。
AIセキュリティとの関連: AIモデルAPIサーバーの通信暗号化にOpenSSLが広く使われており、可用性を脅かすリスクに直結するため。
何が起きたか
報道によると、OpenSSLの古いバージョンにはTLSハンドシェイク処理の欠陥があり、攻撃者はわずか11バイトのメッセージヘッダーを送るだけで、サーバー側に最大131KBのメモリ確保を強制できるとされる。本来はメッセージ本体の検証後に確保すべきメモリを、本体到着前かつ検証前に確保してしまう点が問題という。接続を切断すればメモリは解放されるが、glibc(Linuxの標準Cライブラリ)を使う環境では、確保サイズを毎回変えることでメモリの再利用が妨げられ、断片化したメモリが解放されないままサーバーに残り続けるとOktaは報告している。OpenSSLは6月9日付リリース(4.0.1、3.6.3、3.5.7、3.4.6、3.0.21)でこの問題を修正したが、CVE番号もセキュリティアドバイザリも変更履歴への記載もないと報じられている。発見・命名したのはOktaのレッドチームで、7月17日に詳細を公開した。
誰に・どう影響するか
大企業向け:自社ビルドのOpenSSLを利用する場合、通常のCVEベースの脆弱性スキャンでは検知できないため、リリースノートやパッチノートを個別に確認する必要がある。Red Hatなど、パッケージのバージョン表記を変えずにバックポート修正する配布方式を採る場合は、ベンダーへの個別確認が欠かせないとされる。中小企業向け:自社でOpenSSLをビルド・管理していないケースが多いと考えられるが、利用中のミドルウェア(NGINXなど)やクラウドサービスの提供元がいつ修正版を反映したか、問い合わせによる確認が望ましい。DTLS(UDPベースのTLS)側は今回未修正とされ、該当プロトコルを使うVPNやIoT機器などは引き続き注意が必要という。
今すぐやるべきアクション
- 自社ビルドのOpenSSLは4.0.1/3.6.3/3.5.7/3.4.6/3.0.21以降へ更新する
- パッケージ管理下のOpenSSLは、ベンダーが該当パッチ(PR 30792/30793/30794相当)を適用済みか個別に確認する
- 更新後は該当プロセスを再起動し、旧バージョンのメモリ状態を残さないようにする
- TLS終端を担うAPIサーバー・ロードバランサーの構成を棚卸しし、影響範囲を把握する
- DTLSを利用するシステムがあれば、今後のOpenSSLの対応状況を継続的に確認する
重大度の判定理由
重大度「高」: 広範に利用されるTLSライブラリの可用性リスクだが、修正版は既に存在し公開PoCも未確認とされる