Tutti i payload aggiornati dal developer John Törnblom in questi giorni sono stati caricati all’interno della repository PS5 UMTX Jailbreak di idlesauce.
PS5 UMTX Jailbreak è una versione fortemente modificata dello stesso exploit basato sulla vulnerabilità UMTX race use-after-free (CVE-2024-43102), segnalata da Synacktiv. Si tratta di un porting della strategia di exploit di fail0verflow e flatz.
L’exploit sfrutta la vulnerabilità per ottenere una mappatura di lettura/scrittura nello stack di un thread kernel e utilizza letture/scritture tramite pipe per stabilire una primitiva di lettura/scrittura arbitraria nel kernel.
Questa primitiva viene successivamente migliorata utilizzando socket IPV6 per ottenere una lettura/scrittura stabile.
Caratteristiche principali
- Compatibilità:
- Firmware supportati: da 1.00 a 7.61, ma con limitazioni sui firmware superiori a 3.00 a causa di mitigazioni.
- Il bug WebKit utilizzato è stato corretto dal firmware 6.00 in poi, rendendo necessario un altro exploit per questi firmware.
- Funzioni Incluse:
- Accesso kernel arbitrario in lettura/scrittura.
- Abilitazione del menu delle impostazioni di debug.
- Escalation dei privilegi a root e uscita dalla sandbox/jail.
- Esecuzione di un ELF Loader (porta 9021) per caricare payload.
- Limitazioni:
- L’exploit consente lettura/scrittura, ma non l’esecuzione di codice a causa della protezione XOM (eXecute Only Memory).
- Non è possibile installare patch o hook nel kernel a causa delle protezioni del supervisore (HV) come SMAP/SMEP.
- Firmware superiori a 6.00 non supportati senza un nuovo exploit WebKit.
- Stabilità:
- Su firmware inferiori a 3.00, l’exploit è molto stabile.
- Su firmware superiori, mitigazioni a livello di page allocator e heap complicano l’overlap necessario.
Strategia dell’exploit
- Doppio Free: La vulnerabilità consente di sovrapporre un oggetto
vmobject
dello stack kernel con un mappingmmap
, fornendo accesso diretto al puntatore dello stack kernel. - Lettura/Scrittura Arbitraria:
- Uso di pipe e modifiche ai puntatori
iovec
per trasformarli in indirizzi kernel. - Creazione di primitive di lettura/scrittura kernel tramite multithreading.
- Uso di pipe e modifiche ai puntatori
- Upgrade della Primitiva:
- Sfruttamento di socket IPV6 per una primitiva più stabile.
- Utilizzo di pipe buffer per lettura/scrittura con meno vincoli.
- Prevenzione della Corruzione:
- Evita il crash del sistema alla chiusura del browser mantenendo il
shm FD
in memoria e azzerando il puntatoretd_kstack
.
- Evita il crash del sistema alla chiusura del browser mantenendo il
Sito principale: https://umtx.pages.dev/
- Configurazione: AppCache offline
- Pacchetto media: https://umtx.ps5browser.pages.dev/umtx.pages.dev.media.pkg
- Permette di aprire direttamente il browser su questo link.
- Mirror: https://idlesauce.github.io/PS5-UMTX-Jailbreak/
Dettagli tecnici
- PSFree 150b: La nuova versione dell’exploit è stata ottimizzata e resa disponibile sia su GitHub che su una piattaforma dedicata per il testing diretto. Non è necessario sovrascrivere i fork esistenti per utilizzarla.
- Conversione dei file: I file di PSFree sono stati convertiti da
.mjs
a.js
per una migliore compatibilità con UMTX e altre implementazioni. - Compatibilità UMTX: L’aggiornamento consente l’integrazione diretta con il kernel exploit UMTX, supportando diverse versioni del firmware.
La community ha discusso attivamente sull’integrazione del nuovo PSFree con strumenti come bdj-sdk e su come sfruttare al meglio l’exploit UMTX per espandere le funzionalità della PlayStation 5.
Changelog
Aggiornamento di alcune versioni dei payload
Le modifiche più significative includono:
- Ricompilazione con l’ultima versione del Payload SDK.
- Evitare l’uso della memoria condivisa quando possibile.
Fonte: github.com