
Exploit-Framework für CVE-2026-86950, einen Integer-Überlauf in CoreGraphics: Es erstellt bösartige TrueType-Schriftarten und PDFs, extrahiert ASLR-Leaks und baut ARM64-ROP-Ketten.
Exploit-Framework für CVE-2026-86950, einen kritischen Integer-Overflow im Anti-Aliasing-Rasterizer von Apples CoreGraphics, der iOS 26.7 und macOS 26.7 betrifft.
Integer-Overflow in aa_double_to_fixed() während des Font-Renderings löst einen Out-of-Bounds-Heap-Write über korrumpierte Bounding-Box-Berechnungen aus. Ausnutzbar über bösartige TrueType-Fonts in PDFs.
exploit_full.py — macOS-Exploit-Generator (Font + PDF + ROP-Chain)exploit_ios.py — iOS-Variante (reduzierte Komplexität, 5-stufige Skalierung)leak_extractor.py — Crash-Dumps parsen, ASLR-Bypass-Berechnungrop_builder.py — Konstruktion der ARM64-ROP-Gadget-ChainCVE-2026-86950_ArXiv.pdf — Vollständiges technisches Paper (20 Seiten, peer-review-bereit)exploit.ttf / ios_exploit.ttf — Bösartige Fonts (Composite-Glyph-Verkettung)exploit.pdf / ios_exploit.pdf — Trigger-PDFs mit eingebetteten Fontscve_2026_86950_payload.bin — ARM64-ROP-Chain-BinärdateiACADEMIC_PAPER.md — Markdown-Quelle des Forschungs-PapersATTRIBUTION.md — Autorennennungen und ReferenzenQUICK_START.txt — 5-Minuten-EinrichtungsanleitungMakefile — Build-Konfigurationrun_exploit.sh — Automatisierte 6-stufige Pipelinepython3 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() aufrufen → Absturz mit OOB-SchreibzugriffPhasen 4-6 erfordern echte Gadget-Entdeckung mittels Ghidra/IDA Pro auf CoreGraphics-Binärdateien.
int32_t aa_double_to_fixed(double px) {
double v = 0.5 + 4096.0 * px; // No overflow check
return (int32_t)v; // Cast overflow
}
Überlauf, wenn px > 524.288 Pixel. ARM64-Differenzial: FCVTZS sättigt auf INT32_MAX, aber der Vektor XTN schneidet ab → Bounding-Box-Inversion → zu klein dimensionierte Heap-Allokation.
aa_double_to_fixed() in der Rendering-Pipeline auslösen| macOS | iOS | |
|---|---|---|
| Zustellung | Direktes PDF | PDF-Anhang (Messages/WhatsApp) |
| Prozess | Preview.app | ImageIO-Daemon (sandboxed) |
| Skalierungsebenen | 7 | 5 (Speicherlimit) |
| Berechtigung | Benutzer | Daemon (Sandbox-Escape erforderlich) |
✅ Umfasst:
⚠️ Erfordert externe Recherche:
Die Forschung wird bereitgestellt für:
Unbefugte Ausnutzung ist illegal.
Autor: 34zY
Datum: Oktober 2026
Status: Gepatcht, Bildungs-Framework
Haftungsausschluss: Dieses Projekt ist ausschließlich für autorisierte Sicherheitstests gedacht. Unbefugter Zugriff auf Computersysteme ist illegal.