
CVE-2026-86950(CoreGraphicsの整数オーバーフロー)のためのエクスプロイトフレームワーク。悪意のあるTrueTypeフォントとPDFを作成し、ASLRリークを抽出し、ARM64 ROPチェーンを構築します。
CVE-2026-86950 のエクスプロイトフレームワーク。これは Apple の CoreGraphics アンチエイリアスラスタライザにおける重大な整数オーバーフローであり、iOS 26.7 および macOS 26.7 に影響します。
フォントレンダリング中の aa_double_to_fixed() における整数オーバーフローが、破損したバウンディングボックス計算を介してヒープの範囲外書き込みを引き起こします。PDF 内の悪意ある TrueType フォントを通じて悪用可能です。
exploit_full.py — macOS エクスプロイトジェネレーター (フォント + PDF + ROP チェーン)exploit_ios.py — iOS 版 (複雑さを軽減、5 段階スケーリング)leak_extractor.py — クラッシュダンプの解析、ASLR バイパス計算rop_builder.py — ARM64 ROP ガジェットチェーンの構築CVE-2026-86950_ArXiv.pdf — 完全な技術論文 (20 ページ、査読対応)exploit.ttf / ios_exploit.ttf — 悪意あるフォント (複合グリフチェイニング)exploit.pdf / ios_exploit.pdf — フォントを埋め込んだトリガー PDFcve_2026_86950_payload.bin — ARM64 ROP チェーンバイナリACADEMIC_PAPER.md — 研究論文の Markdown ソースATTRIBUTION.md — 著者のクレジットと参考文献QUICK_START.txt — 5 分でできるセットアップガイドMakefile — ビルド設定run_exploit.sh — 自動化された 6 段階パイプラインpython3 exploit_full.py .
# Outputs: exploit.ttf, exploit.pdf, Makefile
python3 exploit_ios.py .
# Outputs: ios_exploit.ttf, ios_exploit.pdf, ios_payload.bin
python3 leak_extractor.py crash.log
# Parse lldb output, calculate library bases
python3 rop_builder.py 0x0000000192200000
# Generate: cve_2026_86950_payload.bin
make -C . all
make -C . run # Requires lldb debugger
CGImageSourceCreateThumbnailAtIndex() を呼び出し → OOB書き込みでクラッシュ段階4〜6では、CoreGraphicsバイナリに対してGhidra/IDA Proを用いた実際のガジェット探索が必要です。
int32_t aa_double_to_fixed(double px) {
double v = 0.5 + 4096.0 * px; // No overflow check
return (int32_t)v; // Cast overflow
}
ピクセル数が 524,288 を超えるとオーバーフローします。ARM64 の差分: FCVTZS は INT32_MAX に飽和しますが、ベクター XTN は切り捨てます → バウンディングボックスの反転 → ヒープ割り当てのサイズ不足。
aa_double_to_fixed() のオーバーフローを発生させる| macOS | iOS | |
|---|---|---|
| 配信方法 | 直接 PDF | PDF 添付ファイル (Messages/WhatsApp) |
| プロセス | Preview.app | ImageIO デーモン (サンドボックス化) |
| スケーリング段階 | 7 | 5 (メモリ制限) |
| 権限 | ユーザー | デーモン (サンドボックスエスケープが必要) |
✅ 対象:
⚠️ 外部調査が必要:
本研究は以下を目的として提供されています:
無許可の悪用は違法です。
作者: 34zY
日付: 2026年10月
ステータス: 修正済み、教育用フレームワーク
免責事項: 本プロジェクトは許可されたセキュリティテスト専用です。コンピュータシステムへの無許可のアクセスは違法です。