[Scena PS4] Il developer TheFlow interviene sull’exploit della console PlayStation 4 con un nuovo suggerimento

I suggerimenti sono sempre ben accetti, specie se provengono da una fonte accreditata come quella del developer TheFlow, l’hacker che ha rivelato l’exploit del kernel per il firmware 7.55 della console PlayStation 4.

Il developer TheFlow è intervenuto su Twitter con un nuovo suggerimento, quello di sfruttare l’exploit con un altro bug, segno che la strada percorsa da SpecterDevtihmstar non avrebbe portato ad alcun risultato.

La vulnerabilità IPv6 utilizzata fino ad oggi anche sul firmware 7.02 viene meno, difatti l’hacker punta a sfruttare un problema diverso di FreeBSD, una patch per un overflow del buffer in ip6_get_prevhdr. Il problema, nello specifico, viene descritto come segue:

Corregge un overflow del buffer in ip6_get_prevhdr. Fare

mtod (m, char *) + len

Questo è sbagliato, un’opzione può essere posizionata in un altro mbuf della catena.

Se l’offset di un’opzione all’interno della catena è maggiore della lunghezza del primo mbuf in quella catena, stiamo leggendo/scrivendo un byte di dati controllati dal pacchetto oltre la fine del primo mbuf.

La lunghezza di questo primo mbuf dipende dal layout scelto dal driver di rete. Nel caso più difficile, allocherà un cluster da 2 KB, che è più grande della MTU Ethernet.

Ma c’è almeno un modo per sfruttare questo caso: inviando una speciale combinazione di frammenti IPv6 annidati, il pacchetto può controllare un buon gruppo di “len”.

Per fortuna, il pool di memoria contenente i cluster non incorpora l’intestazione del pool davanti agli elementi, quindi non è semplice prevedere cosa si trova in mtod (m, char *) + len.

Tuttavia, inviando frammenti offensivi in ​​un ciclo, è possibile mandare in crash il kernel – a un certo punto andremo a colpire strutture di dati importanti.

Per quanto ne so, PF protegge da questo caso difficile, perché prende a calci i frammenti annidati. NPF non protegge da questo. IPF non lo so.

Poi ci sono i casi più semplici, se la MTU è più grande di un cluster, o se il driver di rete non ha allocato un cluster, o forse se i frammenti vengono ricevuti tramite un tunnel; Non ho indagato su questi casi.

Modificare ip6_get_prevhdr in modo che restituisca un offset nella catena e utilizzare sempre IP6_EXTHDR_GET per ottenere un puntatore scrivibile. IP6_EXTHDR_GET lascia M_PKTHDR intatto.

Si spera che questo nuovo suggerimento possa permetterci di sfruttare l’exploit nel kernel ed eseguire finalmente l’agognato jailbreak sul firmware 7.55 della console PlayStation 4.

Fonte: wololo.net

(Visited 1 times, 1 visits today)

1 commento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *