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
![[Scena DS] Rilasciato SpeccySE v1.8: migliore compatibilità e caricamenti più accurati su DS e DSi](https://www.biteyourconsole.net/wp-content/uploads/SpeccySE-1-238x178.webp)

![[Scena PS Vita] Rilasciato Emu4VitaPlus v0.52](https://www.biteyourconsole.net/wp-content/uploads/emu4VitaPlus-1-238x178.webp)
![[Scena DS] Rilasciato SpeccySE v1.8: migliore compatibilità e caricamenti più accurati su DS e DSi](https://www.biteyourconsole.net/wp-content/uploads/SpeccySE-1-100x75.webp)

![[Scena PS Vita] Rilasciato Emu4VitaPlus v0.52](https://www.biteyourconsole.net/wp-content/uploads/emu4VitaPlus-1-100x75.webp)
![[Scena PS3] Rilasciato System Manager v1.3](https://www.biteyourconsole.net/wp-content/uploads/control5.jpg)
![[Scena PS3] Rilasciato GetSymbols v1.4.1](https://www.biteyourconsole.net/wp-content/uploads/get.jpg)
![[Scena NDS] Rilasciato GodMode9i v3.3.2](https://www.biteyourconsole.net/wp-content/uploads/GodMode9i.jpg)