Software and Software Vulnerabilities
Synopsis Array overflows Stack overflows String problems Pointer clobbering. Dynamic memory management Integer arithmetic problems Formatted Output Output File I/O Others (the cwe.mitre.org taxonomy)
Arrays Array are data groupings; they are numbered sequentially. The programmer refers to them through a number (constant) or a variable (datum). The trouble is, sometimes the data doesn't have the value you expect..
Array overflows If you are referencing an array, are outside the array, and are modifying the array, you are really modifying something else: among the possibilities are: Other data, Instructions, pointers
Stack overflows A stack is a special kind of array in that it is implemented in an array; the problem may be because you tro to store too much data in the stack.
Strings Strings are sequences of characters. They are either terminated by a special character (common) or their length is indicated somewhere (less common).
String problems String termination Off-by-one errors Buffer and input overflows Code injection Arc injection
Pointers
Pointer clobbering.
Dynamic memory management
Integer arithmetic problems
Formatted Output Output
File I/O
Others (the cwe.mitre.org taxonomy)