Αρχιτεκτονική του exploit chain

Το πρόσφατο jailbreak για το PlayStation 5, γνωστό ως Relapse, αποτελεί μια σημαντική προσθήκη στο οικοσύστημα της ασφάλειας της κονσόλας. Η διαδικασία εκμετάλλευσης χωρίζεται σε δύο διακριτά στάδια. Αρχικά, το browser stage στοχεύει τον μηχανισμό JavaScriptCore (JSC) του WebKit. Μέσω ενός mismatch σε structured clone object pool, οι ερευνητές καταφέρνουν να αλλοιώσουν (corrupt) ένα TypedArray, αποκτώντας έτσι τη δυνατότητα ανάγνωσης και εγγραφής σε αυθαίρετες διευθύνσεις μνήμης εντός του περιβάλλοντος του browser.

Από το userland στον πυρήνα (kernel)

Το κρίσιμο σημείο της επίθεσης είναι η κλιμάκωση προνομίων (privilege escalation). Το kernel stage χρησιμοποιεί ένα address leak για να εντοπίσει τις απαραίτητες δομές δεδομένων και στη συνέχεια εκμεταλλεύεται ένα race condition στο aio_multi_wait (Use-After-Free). Αυτή η τεχνική επιτρέπει στον επιτιθέμενο να εγκαθιδρύσει kernel read/write πρόσβαση, παρακάμπτοντας τους μηχανισμούς προστασίας του λειτουργικού συστήματος της Sony.

Σταθερότητα και περιορισμοί

Όπως συμβαίνει με τα περισσότερα exploits που βασίζονται σε WebKit, η αξιοπιστία δεν είναι εγγυημένη. Οι χρήστες αναφέρουν συχνά stalls κατά τη διάρκεια της εκτέλεσης, ενώ το kernel exploit ενδέχεται να προκαλέσει kernel panic, απαιτώντας πλήρη επανεκκίνηση της κονσόλας. Η υλοποίηση παρέχει έναν ELF loader στη θύρα 9021, επιτρέποντας την εκτέλεση custom payloads, γεγονός που καθιστά το εργαλείο χρήσιμο κυρίως για σκοπούς έρευνας ασφαλείας και ανάλυσης του firmware.