RSS Zero Day Initiative - ブログ フォロー Autodesk Revit RFAファイルの解析におけるクラッシュから完全なRCE(リモートコード実行)の脆弱性を作り出す 著者は、RFAファイルをファジングすることで最初に発見された、Autodesk Revit 2025でのクラッシュを調査しました。これは、型混同の脆弱性につながりました。この脆弱性は、std::pair型をデシリアライズした結果として発生しました。クラッシュは、プログラムが非vtable値に対してデストラクタを呼び出そうとしたときに発生します。著者は、この脆弱性を悪用してリモートコード実行を達成しました。この研究には、リバースエンジニアリングとデバッグが含まれていました。IDA Pro、WinDBG、Time Travel Debuggingなどのツールが使用されました。Autodesk Revit用のAxis Communications Pluginにおけるクラウドベースのサプライチェーン脆弱性(破損したRFAファイルを配布する可能性があった)が、このエクスプロイトを大きく助けました。著者は、「CompoundFileTool」というツールと、Revitのgzip動作を模倣した別のツールを作成し、これらはRFAファイルを効果的に変更するために不可欠でした。目的は、デシリアライズされたオブジェクトのオフセット0x0を制御されたvtableを指すように操作することでした。著者は最終的に、型混同を悪用することで任意のコード実行を成功させました。この研究には、AutodeskのRFA形式のリバースエンジニアリングと理解も含まれており、Global/Latestストリーム内の圧縮データの形式も含まれていました。 Crafting a Full Exploit RCE from a Crash in Autodesk Revit RFA File Parsing thezdi.com
std::pair型をデシリアライズした結果として発生しました。クラッシュは、プログラムが非vtable値に対してデストラクタを呼び出そうとしたときに発生します。著者は、この脆弱性を悪用してリモートコード実行を達成しました。この研究には、リバースエンジニアリングとデバッグが含まれていました。IDA Pro、WinDBG、Time Travel Debuggingなどのツールが使用されました。Autodesk Revit用のAxis Communications Pluginにおけるクラウドベースのサプライチェーン脆弱性(破損したRFAファイルを配布する可能性があった)が、このエクスプロイトを大きく助けました。著者は、「CompoundFileTool」というツールと、Revitのgzip動作を模倣した別のツールを作成し、これらはRFAファイルを効果的に変更するために不可欠でした。目的は、デシリアライズされたオブジェクトのオフセット0x0を制御されたvtableを指すように操作することでした。著者は最終的に、型混同を悪用することで任意のコード実行を成功させました。この研究には、AutodeskのRFA形式のリバースエンジニアリングと理解も含まれており、Global/Latestストリーム内の圧縮データの形式も含まれていました。