It isn't a joke. With memory safety bugs the value of an object can unexpectedly be
any bit pattern. That breaks the assumptions of basically every language and leads to pretty much anything happening.
If you have an array of objects of the same type and you just pick the wrong one, then the data still has to be a valid bit pattern. Yes it might still be a security bug, but it's much less likely because you aren't completely subverting the language.
Surely you don't think all bugs are the same because they are all bugs?