
Aplicación de prueba de concepto para sobrescribir fuentes en iOS usando CVE-2022-46689.
Aplicación de prueba de concepto para sobrescribir fuentes en iOS usando CVE-2022-46689.
Funciona en iOS 16.1.2 y versiones anteriores (probado en iOS 16.1) en dispositivos sin jailbreak.
IPA disponible en la sección Releases.
Fuentes incluidas:
También puedes importar fuentes personalizadas que hayan sido portadas para iOS.
DejaVu Sans Condensed | DejaVu Serif | DejaVu Sans Mono | Choco Cooky

Go Regular | Go Mono | Segoe UI | Comic Sans MS

Hanna Soft + JoyPixels | Bronkoh | Noto Serif SC | Fira Sans

Crédito de la captura: @ev_ynw por las fuentes portadas Hanna Soft y Bronkoh, JoyPixels por la fuente emoji
El problema CVE-2022-46689 - hasta donde sé - solo permite sobrescribir 16383 bytes de cada 16384 bytes: el último byte de la página no se puede escribir.
(Podría estar equivocado)
Para solucionarlo, empaqueto la fuente usando el formato web WOFF2, que es compatible con iOS. WOFF2 usa Brotli para la compresión, lo que me permite insertar relleno para saltar el último byte.
Consulta repackfonts/make_woff2src.sh para más detalles: este script:
repackfonts/BrotliPadding.swift para descomprimir el archivo WOFF2 e insertar relleno para saltar el byte 16384