
Framework di sfruttamento per CVE-2026-86950, un integer overflow in CoreGraphics: crea font TrueType e PDF malevoli, estrae leak ASLR e costruisce catene ROP ARM64.
Framework di sfruttamento per CVE-2026-86950, un overflow di interi critico nel rasterizzatore anti-aliasing CoreGraphics di Apple che interessa iOS 26.7 e macOS 26.7.
L'overflow di interi in aa_double_to_fixed() durante il rendering dei font provoca una scrittura out-of-bounds nell'heap tramite calcoli corrotti del bounding box. Sfruttabile tramite font TrueType malevoli nei PDF.
exploit_full.py — generatore di exploit per macOS (font + PDF + catena ROP)exploit_ios.py — variante per iOS (complessità ridotta, scaling a 5 livelli)leak_extractor.py — analizza i crash dump, calcolo del bypass ASLRrop_builder.py — costruzione della catena di gadget ROP per ARM64CVE-2026-86950_ArXiv.pdf — paper tecnico completo (20 pagine, pronto per la peer review)exploit.ttf / ios_exploit.ttf — font malevoli (concatenamento di glifi compositi)exploit.pdf / ios_exploit.pdf — PDF di trigger con font incorporaticve_2026_86950_payload.bin — binario della catena ROP per ARM64ACADEMIC_PAPER.md — sorgente Markdown del paper di ricercaATTRIBUTION.md — crediti degli autori e riferimentiQUICK_START.txt — guida alla configurazione in 5 minutiMakefile — configurazione di buildrun_exploit.sh — pipeline automatizzata a 6 fasipython3 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() → crash con scrittura OOBLe fasi 4-6 richiedono una reale scoperta di gadget tramite Ghidra/IDA Pro sui binari di CoreGraphics.
int32_t aa_double_to_fixed(double px) {
double v = 0.5 + 4096.0 * px; // No overflow check
return (int32_t)v; // Cast overflow
}
Overflow quando px > 524.288 pixel. Differenza ARM64: FCVTZS satura a INT32_MAX, ma il vettore XTN tronca → inversione del bounding box → allocazione heap di dimensioni insufficienti.
aa_double_to_fixed() nella pipeline di rendering| macOS | iOS | |
|---|---|---|
| Vettore | PDF diretto | Allegato PDF (Messages/WhatsApp) |
| Processo | Preview.app | Daemon ImageIO (sandboxed) |
| Livelli di scaling | 7 | 5 (limite di memoria) |
| Privilegi | Utente | Daemon (necessaria evasione dalla sandbox) |
✅ Copre:
⚠️ Richiede ricerca esterna:
Ricerca fornita per:
Lo sfruttamento non autorizzato è illegale.
Autore: 34zY
Data: Ottobre 2026
Stato: Corretto, framework educativo
Disclaimer: Questo progetto è destinato esclusivamente a test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale.