
Adobe Acrobat Readerにおけるプロトタイプ汚染とJavaScriptインジェクションチェーンを実証する研究用PoC。特権JavaScript実行とファイル流出を可能にします。分析用のPDFジェネレーター、ペイロード、C2サーバーが含まれます。
このリポジトリには、2026年のAdobe Acrobat Readerで確認されたin-the-wildエクスプロイトチェーンの解析中に開発された研究資料と概念実証コードが含まれています。関連する要素は以下のとおりです:
この研究は、悪意のあるPDF文書で使用された脆弱性チェーンの理解と、Adobeが複数のパッチで導入した修正のリバースエンジニアリングに焦点を当てています。
この成果物は以下の目的で作成されました:
CVE-2026-34621CVE-2026-34622CVE-2026-34626影響を受けるコンポーネントは以下のとおりです:
ANFancyAlertImpl()SilentDocCenterLogin()ANShareFile()このエクスプロイトチェーンは、複数のプリミティブを組み合わせています:
以下の内部における安全でない動的ハンドラーの構築:
ANFancyAlertImpl()
以下を使用:
eval(...)
これにより、攻撃者が制御するボタン識別子を使用して、任意のJavaScriptをAcrobatの内部実行フローに注入することが可能になりました。
以下を含む脆弱なグローバル変数解決:
swConn
攻撃者が以下を悪用することを可能にしました:
Object.prototype.__defineGetter__()
これは、信頼されたAcrobatのコラボレーションロジックを、攻撃者が制御するオブジェクトへリダイレクトするためです。
信頼されたワークフローは、以下が常にプリミティブ文字列であると想定していました:
doc.path
以下を実装する細工されたオブジェクトを供給することで:
substringlastIndexOfエクスプロイトは、特権実行パスを攻撃者が制御するコールバックへリダイレクトしました。
同梱のPoCは、このエクスプロイトチェーンを悪用することで、Adobe Acrobat Reader内で特権JavaScriptを実行し、通常はサンドボックスによって制限されている機密操作を実行できることを実証しています。
信頼された関数登録プリミティブを使用することで、PoCは以下を実行できます:
テスト中、ペイロードは被害者マシンからローカルシステムファイルを読み取り、その内容を以下に実装された収集サーバーへ送信するために使用されました:
c2.py
この動作は、エクスプロイトチェーンがAcrobatの意図した信頼境界を正常に越え、特権実行コンテキストに到達することを確認しています。
payload_steal.jsエクスプロイトの再構築および動作解析中に使用された研究用ペイロード。
内容:
CVE-2026-34621.py外部JavaScriptをPDF文書に埋め込む最小限のPDF生成ツール。
使用場面:
特徴:
使用方法:
python3 CVE-2026-34621.py -j payload_steal.js -o exploit.pdf
c2.pyテスト中にアウトバウンドリクエストとペイロードの動作を観察するために使用された、シンプルなHTTP収集サーバー。
用途:
使用方法:
python3 c2.py
デフォルトポート:
45191
このリポジトリは、Adobeによる以下のバージョンにわたるパッチの進化も記録しています:
26.001.2136726.001.2141126.001.21431主な発見:
swConn のローカルスコープ変数への変換eval() の使用の削除このリポジトリは、以下の用途を目的としています:
この資料を、所有していないシステム、または明示的にテスト許可を得ていないシステムに対して使用しないでください。
完全な技術解説記事:
以下による追加の公開研究およびパッチタイムライン分析:
は、脆弱性チェーンとAdobeのパッチ適用戦略に関する貴重な文脈を提供する上で役立ちました。
このリポジトリは、教育および研究目的に厳密に限定して提供されます。
著者は、この資料を使用して行われた誤用、無許可のテスト、または違法行為について一切責任を負いません。