Adobe Acrobat の JavaScript トラストモデルと、特権 Acrobat API を伴う報告済みゼロデイ悪用経路との関連性に関する分析のためのリバースエンジニアリングノートおよび補助資料。
このリポジトリには、Adobe Acrobat がネイティブハンドラを通じて特権 JavaScript 機能をどのように公開しているか、それらのハンドラがどのようにゲートされているか、そして観測された問題が単純なアクセスチェックの欠如ではなく トラスト/コンテキスト処理の欠陥 として理解するのが最適である理由に関する技術的分析が含まれています。
この分析は、以下の復元された実行経路に焦点を当てています:
util.readFileIntoStreamapp.trustedFunctionapp.beginPriv中心的な結論は、脆弱な動作が 信頼されていないドキュメント JavaScript が特権コンテキストで実行されているかのように扱われる ことと最も整合的であるということです。
リバースエンジニアリングにより、以下が示されています:
util.readFileIntoStream は Acrobat JavaScript レイヤーを通じてネイティブハンドラにエクスポートされるBatch、Exec、 などの特権実行コンテキストによってゲートされるConsoleapp.trustedFunction もゲートされており、許可された条件下でのみトラストラッパーを構築するapp.beginPriv は、特権モードに入る前にゲート述語によって個別に保護されているこの構造は、悪用が 完全に保護されていない特権 API に依存しているのではなく、誤ったトラスト伝播、コンテキスト混乱、または現在の実行フレームの誤分類に依存している可能性が高いことを示唆しています。
このリポジトリは、以下を文書化することを目的としています:
この論文には以下が含まれます:
util.readFileIntoStream の分析app.trustedFunction の分析app.beginPriv の分析復元された主要なマッピングには以下が含まれます:
util.readFileIntoStream -> sub_7F9EFapp.trustedFunction -> sub_77AF5app.beginPriv -> sub_7801Fapp.endPriv -> sub_780BBapp.isTrusted -> sub_78BF3この論文では以下についても議論しています:
cDIPath および bEncodeBase64 の引数解析Batch、Exec、Console、App、Init、Internal、External のコンテキスト解決