type confusion vulnerabilities and exploits