Home Homebrew CVE-2022-23088: Una nuova porta per il jailbreak delle due console PS4 e...

CVE-2022-23088: Una nuova porta per il jailbreak delle due console PS4 e PS5?

3239
0

Ad aprile 2022, FreeBSD ha corretto una vulnerabilità critica di tipo heap overflow nel Wi-Fi stack del kernel, identificata come CVE-2022-23088 e scoperta dal ricercatore m00nbsd.

Questa falla, presente da 13 anni, permetteva a un attaccante nelle vicinanze di eseguire codice arbitrario nel kernel della vittima.

Il problema risiedeva nella funzione ieee80211_parse_beacon(), che analizza i “beacon frames” inviati dagli access point durante la scansione delle reti Wi-Fi.

In particolare, il codice salvava un puntatore all’opzione IEEE80211_ELEMID_MESHID senza verificare la lunghezza del dato (frm[1]).

Successivamente, nella funzione sta_add(), un’operazione memcpy() copiava il contenuto dell’opzione in un buffer di dimensione fissa, causando un buffer overflow.

Questa falla consentiva a un attaccante di controllare sia la dimensione dell’overflow che i dati scritti in memoria, sovrascrivendo campi cruciali nella struttura ieee80211_scan_entry.

In particolare, poteva modificare i puntatori ies->data e ies->len, utilizzati in ieee80211_ies_init(), ottenendo una write-what-where primitive, ovvero la possibilità di scrivere dati arbitrari in qualsiasi indirizzo del kernel semplicemente inviando un frame Wi-Fi appositamente modificato.

La vulnerabilità interessava tutte le versioni di FreeBSD dal 2009, comprese derivate come pfSense e OPNsense.

Poiché FreeBSD è alla base del sistema operativo Orbis OS su PlayStation 4 e PlayStation 5, in teoria la falla potrebbe essere sfruttata per attaccare queste console.

Tuttavia, Sony implementa misure di sicurezza avanzate nel kernel delle console, tra cui:

  • Mitigazioni del kernel per prevenire exploit noti.
  • Sandboxing per isolare i processi.
  • Protezioni della memoria per impedire modifiche non autorizzate.

Queste difese potrebbero rendere più difficile l’utilizzo della vulnerabilità per un jailbreak.

L’exploit originale per FreeBSD 13.0 richiedeva una scheda Wi-Fi in modalità monitor per inviare pacchetti malevoli. Per adattarlo a PS4 e PS5, sarebbe necessaria un’analisi dettagliata dell’implementazione del modulo Wi-Fi sulle console.

Se il codice vulnerabile di FreeBSD è stato utilizzato senza modifiche sostanziali, la falla potrebbe essere sfruttata per ottenere esecuzione di codice arbitrario.

Tuttavia, ad oggi non ci sono prove concrete di un exploit funzionante su PS4 o PS5 basato su questa vulnerabilità.

Probabile che eventuali tentativi richiedano modifiche aggiuntive al codice dell’exploit e un’analisi approfondita delle protezioni della memoria delle console.

A tal proposito, il developer Dark-life944 ha condiviso un primo PoC:

File inclusi nel PoC

  • exploit.py → Script principale dell’exploit.
  • shellcode.bin → Shellcode iniettato in memoria.
  • x86.py → Funzioni helper per calcoli di indirizzi di memoria.

Requisiti

Per eseguire l’exploit, servono:

  • Scheda Wi-Fi con supporto alla modalità Monitor (per inviare pacchetti Wi-Fi raw).
  • Ambiente Linux (per eseguire lo script di exploit).
  • Dipendenze Python: pip install pyelftools

Esecuzione dell’exploit su Linux

Configurare la scheda Wi-Fi in modalità Monitor

Prima di tutto, assicurarsi che la scheda Wi-Fi supporti la modalità monitor e impostarla:

sudo ifconfig wifi0 down
sudo iwconfig wifi0 mode monitor
sudo ifconfig wifi0 up

(Sostituire wifi0 con l’interfaccia Wi-Fi corretta, verificabile con ifconfig o iwconfig).

Clonare ed entrare nella directory del PoC

git clone https://github.com/Dark-life944/PoC-PS5-PS4.git
cd PoC-PS5-PS4/CVE-2022-23088

Compilare il kernel target (FreeBSD 13.0 Release)

./build.py kernels/fbsd-13.0-release

Eseguire l’exploit

sudo ./exploit.py wifi0 kernels/fbsd-13.0-release

Log dell’exploit

Durante l’esecuzione, lo script segue diverse fasi:

[+] Phase 1: writing page1
[+] Phase 2: writing L3
[+] Phase 3: patching kernel
[+] Phase 4: repairing
[+] Finished

  • Phase 1: Scrive la prima pagina di memoria per predisporre l’attacco.
  • Phase 2: Scrive il livello L3 per manipolare la memoria.
  • Phase 3: Esegue il patching del kernel, sovrascrivendo le strutture di memoria vulnerabili.
  • Phase 4: Effettua eventuali riparazioni per stabilizzare il sistema dopo l’exploit.

Download: Source code PoC-PS5-PS4 (CVE-2022-23088)

Fonte: zerodayinitiative.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.