Vulnerability Spotlight: Type confusion
   What is type confusion exactly? And how can it be used to exploit programs?   According to the CWE (Common Weakness Enumeration) "Type confusion is when:   the program allocates or initializes a resource such as a pointer, object, or   variable using one type, but it later accesses that resource using a type that   is incompatible with the original type. When the program accesses the   resource using an incompatible type, this could trigger logical errors because   the resource does not have expected properties. In languages without memory   safety, such as C and C++, type confusion can lead to out-of-bounds memory   access."      C and C++ are common examples used because these languages do not have type   checking. This allows attackers to potentially exploit type confusion within   C/C++ programs, which can lead to code execution. Of course C and C++ are not   the only examples, languages with dynamic typing generally (like Perl) have   this issue.   C++ has 3 main Cast...