
CVE-2020-9715 の概念実証。Adobe Acrobat Reader DC の EScript エンジンにおける use-after-free です。EDR 検出検証用に脆弱性パターンをトリガーする PDF を生成します。武器化されたペイロードは含まれていません。
Adobe Acrobat Reader DCのEScript.api ESObjectキャッシュにおけるuse-after-free脆弱性。認可されたレッドチームのEDRテスト専用です。
Adobe Acrobat Reader DC <= 2020.009.20063。EScriptエンジンは、元のエンコーディング(ANSIまたはUnicode)を保持するキーを使用してデータESObjectをキャッシュします。削除時は常にUnicodeキーが構築されるため、ANSI名のエントリはキャッシュからパージされることはありません。GCが基盤となるオブジェクトを解放した後、古いキャッシュエントリはダングリングポインタになります。
OpenAction が dataObjects にアクセスしてESObjectキャッシュに投入するArrayBuffer の割り当てによるヒープスプレーで解放されたメモリを再利用するこのPoCは脆弱性パターンをトリガーしますが、武器化されたペイロードは含みません(シェルコードなし、ROPチェーンなし)。EDRがこの悪用テクニックを検出するかどうかを検証するために設計されています。
python generate_poc.py # Generates CVE-2020-9715.pdf
python generate_poc.py -o custom.pdf # Custom output path
外部依存関係なし -- Python標準ライブラリのみを使用。
EDRは以下の1つ以上に基づいて検出する必要があります:
ArrayBuffer の大量割り当て)dataObjects アクセスに続く強制GCと再アクセス(UAFパターン)OpenAction + EmbeddedFiles + JavaScriptAPSB20-48(2020年8月)でパッチ適用済み。