Earlier quoted context omitted.
Does anyone have a "explain it like I'm 5 but took some CS classes back in college"? I know that if you craft your buffer overflow just right it will overwrite other parts of memory with the new function. But how do you know what parts will get overwritten? Does that mean the new function can do almost anything?
With a buffer overflow, you can write your own code into a chunk of memory that ends up being run by the application. In this case, since WhatsApp already had SMS read privileges as part of the signup auth flow, the attacker also had those privileges. The article has some detail about the remote code execution part of this exploit. “What this means is that there was a software flaw in the WhatsApp code for handling M…
1) Discover/buy/steal Bezo's Whatsapp number (how did they do that...)
2) Discover/buy/steal a 0-day bug in Whatsapp.
3) Write and compile a program that reads SMS from the OS and beacons it to some server you control.
4) Create a corrupted video file that would trigger the video parsing bug, and within that video file place the compiled program from the previous step in the correct place so that it gets executed.
5) Send to Bezos.