Ad un mese dalla pubblicazione del firmware 7.61 della console PlayStation 5 viene confermato da TheFlow la compatibilità con l’exploit 0 day BD-JB.
L’exploit BD-JB si basa su di una catena di 5 vulnerabilità concatenate che consentono a un attaccante di acquisire capacità JIT ed eseguire payload arbitrari su console PlayStation 4 e PlayStation 5.
Nice my bd-jb 0d still works on latest firmware pic.twitter.com/GW3ZkfMHuu
— Andy Nguyen (@theflow0) September 11, 2023
Di seguito un analisi delle cinque vulnerabilità:
- Vulnerabilità 1 (Medio): Questa vulnerabilità coinvolge la classe
com.sony.gemstack.org.dvb.user.UserPreferenceManagerImpl
, che deserializza il file userprefs in un contesto privilegiato utilizzandoreadObject()
. Un attaccante può sostituire il file userprefs con un oggetto serializzato dannoso per istanziare classi in un contesto privilegiato. Su versioni più datate, come la 5.05, questa vulnerabilità è facilmente sfruttabile e consente di bypassare il security manager. - Vulnerabilità 2 (Medio): La classe
com.oracle.security.Service
contiene un metodonewInstance
che chiamaClass.forName
su un nome di classe arbitrario. Ciò consente l’istanza di classi arbitrarie, anche quelle restritte. È possibile bypassare il controllo innewInstance
chiamandocom.oracle.ProviderAdapter.setProviderAccessor
su un’implementazione personalizzata diProviderAccessor
. - Vulnerabilità 3 (Medio): La classe
com.sony.gemstack.org.dvb.io.ixc.IxcProxy
contiene il metodo protettoinvokeMethod
, che può chiamare metodi in un contesto privilegiato. È possibile bypassare i controlli delle autorizzazioni nei metodi se determinate condizioni sono soddisfatte. Un attaccante può scrivere una sottoclasse della classe di destinazione per implementare un’interfaccia in cui il metodo desiderato genera unaRemoteException
. - Vulnerabilità 4 (Alto): La vulnerabilità coinvolge il “compiler receiver thread” che riceve una struttura di 0x58 byte dal processo in esecuzione. La struttura contiene un puntatore a offset 0x38 (chiamato
compiler_data
) dal processo del compilatore, utilizzato per effettuare un backup della struttura della richiesta. Un attaccante può inviare un puntatore non attendibile, e il “compiler receiver thread” copierà dati dalla richiesta nella sua memoria, consentendo un primitivo “write-what-where”. - Vulnerabilità 5 (Alto): Il driver UDF utilizzato su PS4 e PS5 contiene uno sforamento del buffer. Un attaccante può provocare un overflow di buffer facendo in modo che la dimensione
inf_len
sia superiore asector_size
, causando un overflow conmemcpy()
.
Questo hack BD-JB attualmente viene utilizzato attivamente sulla console PlayStation 5 dal firmware 3.00 al firmware 4.51, come entrypoint per l’exploit del kernel che consente di hackerare questi firmware.
Come alternativa all’exploit BD-JB, molti utilizzano un exploit nel webkit, anche se in entrambi i casi, l’obiettivo è quindi innescare lo stesso exploit del kernel per l’escalation dei privilegi.
Quello che sorprende un po’ è che l’hacker aveva precedentemente dichiarato che le vulnerabilità BD-JB (o alcune di esse) erano state corrette nel firmware 5.00 della console PlayStation 5.
Non è chiaro se abbia scoperto exploit aggiuntivi per riattivare la catena, se alcuni bug sono stati reintrodotti, se Sony non ha mai corretto gli exploit o se sia qualcos’altro. Sembra che Sony non si sia mai preoccupata di risolvere la vulnerabilità.
Esistono già diversi exploit usermode su PS5, ma il problema principale nella scena attuale riguarda gli exploit nel kernel e altro su PS4 e PS5, al fine di consentire a più persone di accedere a una console hackerabile.
Fonte: wololo.net