This legend has been trying to find widely accessible vulnerabilities in the PS2 for years! This time, he decided to target the DVD player of the PS2 and got awesome results.
Why is the DVD player a good target? That's quite a bit of untrusted data being interpreted! Anytime there's a ton of data being interpreted (that we control) it is likely a very good attack surface.
First off, he gets the DVD firmware from memory (from a previous exploit). From there, he reverse engineers the DVD player using Ghidra .
After reversing it, he tries to find a call to a particular function where the size is dynamic but the buffer is static size is static. There is a particular function that meets this criteria: getDiscData. The authors of the code assumed that the largest possible buffer was from the specification.
This overflow ends up being a very large section of memory! Now, we need to find some juicy to corrupt. However, there are no easy pointers to corrupt. Instead, the author of the exploit altering an index value to alter the jump location of a switch table later on.
By corrupting the jump table entry, it is possible jump part way into a switch statements code. This misaligns the stack because several pop's and push's won't be executed. By perfectly misaligning this, we can jump into a section of memory that we control!
This memory that we control was a cache however. Why is this a big deal? Cache comes and goes quite a bit. So, getting stable code here was difficult. But, in the end, it just required writing extra data to make it stay longer.
Interestingly, this is not the end... in pwn articles from CTF's you get code execution and are done. However, with PS2 hacks, the goal is to load homebrew. Loading homebrew required writing an ELF to memory then running this. Honestly, reading this part of the article is unique and interesting; I recommend just reading it yourself, as I cannot cover the beautiful details of this.
One final note: when the exploit was originally not working, the author changed the language of the console in order for different values to show up within the overflow path. When writing exploits, view all possible configurations that you control, as only one of these may be exploitation.