概要
OpenEXRは、映画業界で広く利用されている画像ストレージ形式であるEXRファイルの仕様とリファレンス実装を提供するライブラリです。この度、OpenEXRのCompositeDeepScanLine::readPixels関数において、整数オーバーフローに起因するヒープ領域への境界外書き込みの脆弱性(CVE-2026-27622)が報告されました。
具体的には、ピクセルごとの合計サイズを計算する際に、攻撃者によって制御される大きなカウント値が多数のパーツにわたって蓄積されると、total_sizes配列の合計値が2^32を法としてラップアラウンド(整数オーバーフロー)する可能性があります。このオーバーフローした値に基づいてバッファサイズが決定されるため、実際のデータ量よりも小さなバッファが確保されてしまいます。その後、デコード処理中に真のサンプルカウントで書き込み操作が行われると、確保されたバッファの範囲を超えてデータが書き込まれ、ヒープ領域への境界外書き込みが発生します。
影響範囲
- OpenEXRライブラリを使用しているアプリケーションやシステムが影響を受ける可能性があります。
- 具体的には、以下のバージョンより前のOpenEXRライブラリが影響を受けると報告されています。
- v3.2.6より前のバージョン
- v3.3.8より前のバージョン
- v3.4.6より前のバージョン
想定される影響
- 攻撃者が細工されたEXRファイルを脆弱なOpenEXRライブラリを使用するシステムに読み込ませることで、アプリケーションがクラッシュし、サービス拒否(DoS)状態に陥る可能性があります。
- 最悪の場合、ヒープ領域への境界外書き込みが悪用され、任意のコード実行につながる可能性も指摘されています。これにより、攻撃者がシステムを完全に制御する恐れがあります。
攻撃成立条件・悪用状況
- 攻撃を成立させるには、細工されたEXRファイルを脆弱なOpenEXRライブラリを使用するアプリケーションに処理させる必要があります。
- 現在のところ、この脆弱性の具体的な悪用状況については不明です。
推奨対策(優先度付き)
【最優先】OpenEXRライブラリのアップデート
以下のいずれかのバージョン、またはそれ以降の修正済みバージョンへ速やかにアップデートすることを強く推奨します。
- OpenEXR v3.2.6
- OpenEXR v3.3.8
- OpenEXR v3.4.6
一時的な緩和策
現時点では、根本的な解決策はアップデートのみとされています。
もしアップデートが直ちに困難な場合は、信頼できないソースからのEXRファイルの処理を制限する、またはEXRファイルを処理するシステムをネットワークから隔離するなどの対策が考えられますが、これらは一時的な緩和策であり、根本的な解決にはなりません。
確認方法
ご使用のシステムやアプリケーションが利用しているOpenEXRライブラリのバージョンを確認してください。バージョンがv3.2.6、v3.3.8、v3.4.6より古い場合は、脆弱性の影響を受ける可能性があります。
参考情報
- CVE-2026-27622 詳細情報: https://cvefeed.io/vuln/detail/CVE-2026-27622
- OpenEXR 公式サイト (修正バージョンのリリース情報などを確認): https://www.openexr.com/