主要脆弱性情報 タイトル: CCExtractor ccextractor c65fb08 メモリ破損 説明: - ccextractorプログラムでセグメンテーションフォールトを発見しました。mprintを使用してメッセージを記録しようとした際、processmp4関数でクラッシュが発生しました。 - ASAN(AddressSanitizer)のレポートによると、アドレス0xbebebebebebebebeでのREADメモリアクセスによりSEGV(シグナル11: 禁止されたメモリ参照)が発生しました。この特定のシグニチャ(0xBE)は通常、アプリケーションが解放済みメモリ(Use-After-Free)または未初期化メモリにアクセスしている、またはデアドポインタがstrlenを通ってprintfに渡されたことを示します。 - 製造元はこの脆弱性を確認し、コミットID [fd7271b] (https://github.com/CCExtractor/ccextractor/commit/fd7271bae238ccb3ae8a71304ea64f0886324925) により修正しました。 環境: - OS: Linux x86_64 - コンパイラ: Clang - ビルド構成: リリースモード、ASan有効 脆弱性情報: - 対象: CCExtractor - 脆弱性タイプ: CWE-416: Use After Free / CWE-457: 未初期化メモリ使用 - 関数: processmp4 -> mprint - 場所: src/lib_ccx/mp4.c:902 - 根本原因分析: クラッシュはsrc/lib_ccx/mp4.cの902行目、mprint呼び出し時に発生しました。mprintはvfprintfのラッパーであり、クラッシュのトレースはinternal_strlenの終了で終了しているため、mprintがフォーマット文字列(%sを含む可能性あり)を解析し、対応する文字列引数の長さを計算しようとしていることが示唆されます。 - レジスタrdiには0xbebebebebebebebeが格納されています。多くのデバッグ環境およびクリーナー(特定のフラグまたは一部のアロケーターを備えたASANなど)では、0xBEは解放済みメモリを汚染するために使用されます。これは、processmp4がMP4ボックスへのポインタを保持しており、呼び出しプロセス中の何らかの時点で適切に処理または解放されていないことを示しています。