> The very idea of having a `SecurityManager` that runs in the same VM is nonsensical, but that's what Java did.
Lolwhat? It's fine. It worked great. (It had some vulnerabilities in its history, but so does every sandbox/hypervisor/what-have-you out there)
Not really. The whole SecurityManager thingie was a fiasco from the start.
It granted access to _code_, not to the environment. Basically, you declared in the manifest that "com.mycompany.blah.*" wants to have full access rights, and SM granted permissions to that _code_. So it was predictably easy to subvert this, because Java code was not typically written in defensive style, sanitizing all the input data.
All the modern sandboxes instead isolate the environment.
Flash at least implemented a VM with a fairly minimal surface. It can only blame its quality of implementation.