概要
OpenEXRは、映画業界で広く利用されている画像保存フォーマットであるEXRファイル形式の仕様とリファレンス実装を提供しています。このOpenEXRにおいて、ヒープバッファオーバーフロー(OOB read)の脆弱性(CVE-2026-26981)が報告されました。
具体的には、メモリマップされたIStreamを介して不正なEXRファイルを解析する際、ImfContextInit.cpp内のistream_nonparallel_read関数で脆弱性が存在します。符号付き整数の減算が負の値を生み出し、これが暗黙的にsize_t型に変換されることで、memcpy関数に非常に大きな長さが渡され、結果としてヒープバッファオーバーフローが発生する可能性があります。
影響範囲
本脆弱性の影響を受けるOpenEXRのバージョンは以下の通りです。
- バージョン 3.3.0 から 3.3.6
- バージョン 3.4.0 から 3.4.4
本脆弱性は、バージョン 3.3.7 および 3.4.5 で修正されています。
想定される影響
ヒープバッファオーバーフローは、攻撃者によって悪用された場合、以下のような影響を引き起こす可能性があります。
- 任意のコード実行:システム上で攻撃者の意図するコードが実行される可能性があります。
- サービス拒否(DoS):アプリケーションやシステムがクラッシュし、利用不能になる可能性があります。
- 情報漏洩:メモリ内の機密情報が読み取られる可能性があります。
これらの影響は、悪意のあるEXRファイルを処理するアプリケーションやシステムに影響を及ぼす可能性があります。
攻撃成立条件・悪用状況
本脆弱性の攻撃成立には、特別に細工された不正なEXRファイルを、脆弱性のあるOpenEXRライブラリを使用するアプリケーションが処理することが条件となります。特に、メモリマップされたIStreamを介してファイルが解析される場合に脆弱性が顕在化すると報告されています。
現時点では、本脆弱性の悪用状況に関する具体的な情報は公開されていません。
推奨対策
今すぐできる対策(優先度:高)
- OpenEXRのアップデート: 脆弱性が修正されたバージョンへの速やかなアップデートを強く推奨します。
- バージョン 3.3.7 以降
- バージョン 3.4.5 以降
中長期的な対策
- ソフトウェアサプライチェーンの管理: 利用しているソフトウェアコンポーネントのバージョンを常に把握し、脆弱性情報に迅速に対応できる体制を構築してください。
- セキュリティパッチ適用プロセスの確立: 定期的な脆弱性スキャンとパッチ適用プロセスを確立し、最新のセキュリティ状態を維持してください。
一時的な緩和策
本脆弱性に対する具体的な一時的な緩和策は報告されていません。最も効果的な対策は、修正済みバージョンへのアップデートです。
確認方法
利用しているOpenEXRライブラリのバージョンを確認してください。バージョンが影響を受ける範囲内にある場合は、速やかにアップデートを検討してください。