公開:

【CVE-2024-47606】GStreamerに整数オーバーフローの脆弱性、MP4/MOV処理時の任意コード実行の危険性

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • GStreamerに整数オーバーフローの脆弱性を発見
  • MP4/MOV demuxerとメモリアロケータに深刻な影響
  • 1.24.10で脆弱性に対する修正を実施

GStreamer MP4/MOV demuxerの整数オーバーフロー脆弱性

オープンソースのメディアハンドリングライブラリGStreamerの脆弱性【CVE-2024-47606】が2024年12月11日に公開された。qtdemux.cファイル内のqtdemux_parse_theora_extension関数において、gint size変数の整数アンダーフローが発生し、その値が符号なし整数にキャストされた際に意図しない大きな値となることが判明している。[1]

gst_buffer_new_and_allocの呼び出しで32ビットの負の値が64ビットの符号なし整数(0xfffffffffffffffa)にキャストされ、_sysmem_new_blockでアラインメントとヘッダサイズが加算されることでslice_size変数がオーバーフローを起こす。その結果、大きな入力サイズにもかかわらず実際には0x89バイトしか割り当てられず、攻撃者による任意のコード実行につながる可能性がある。

また、gst_memory_unmapの呼び出し時に破損したポインタによってメモリ上書きが発生し、mem->allocator->mem_unmap_full関数の呼び出しでファンクションポインタのハイジャックが起こる可能性がある。攻撃者はプログラムの実行フローを変更し、任意のコード実行を引き起こすことができるため、1.24.10へのアップデートが推奨されている。

GStreamerの脆弱性詳細

項目 詳細
脆弱性ID CVE-2024-47606
影響を受けるバージョン 1.24.10未満
脆弱性の種類 整数オーバーフローまたはラップアラウンド(CWE-190)
深刻度 CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N(スコア8.6)
影響 任意のコード実行、メモリ破壊
修正バージョン 1.24.10

整数オーバーフローについて

整数オーバーフローとは、プログラムの演算処理において変数の値が許容範囲を超えてしまう脆弱性のことを指す。主な特徴として、以下のような点が挙げられる。

  • 変数の最大値を超える計算が行われた際に予期せぬ値が生成される
  • メモリ確保やループ制御などの重要な処理に影響を及ぼす可能性がある
  • バッファオーバーフローや任意のコード実行につながる危険性がある

GStreamerの事例では、qtdemux_parse_theora_extension関数内のgint size変数で整数アンダーフローが発生し、その後の処理で意図しない大きな値となることで深刻な影響を及ぼす。メモリ割り当ての際に0x89バイトしか確保されないにもかかわらず、大きなサイズのデータがコピーされることでメモリ破壊や任意のコード実行の危険性が生じている。

GStreamerの整数オーバーフロー脆弱性に関する考察

GStreamerの整数オーバーフロー脆弱性は、メディア処理ライブラリの基本的な部分に存在する深刻な問題として注目に値する。MP4MOVファイルの処理において、整数演算の処理が適切に制御されていなかったことで、攻撃者による任意のコード実行の可能性が生まれた点は、ソフトウェアの安全性設計における重要な教訓となるだろう。

今後の課題として、メディアファイルの処理における入力値の検証やメモリ管理の強化が挙げられる。特にqtdemux_parse_theora_extension関数での整数演算の処理方法を見直し、型変換時のオーバーフロー対策や、メモリ割り当て時のサイズチェックを厳密に行うことが求められるだろう。

さらに、GStreamerコミュニティには、コードレビューやセキュリティ監査の強化、自動化されたテストケースの拡充が期待される。特に整数演算やメモリ管理に関する部分については、静的解析ツールの活用や、セキュリティ専門家による定期的なコードレビューを実施することで、同様の脆弱性の早期発見と対策が可能になるはずだ。

参考サイト

  1. ^ CVE. 「CVE-2024-47606 | CVE」. https://www.cve.org/CVERecord?id=CVE-2024-47606, (参照 24-12-22).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「セキュリティ」に関するコラム一覧
「セキュリティ」に関するニュース
「セキュリティ」に関するニュース一覧
アーカイブ一覧
セキュリティに関する人気タグ
セキュリティに関するカテゴリ
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。