Most software security vulnerabilities fall into one of a small set of categories:
● buffer overflows
● unvalidated input
● race conditions
● access-control problems
● weaknesses in authentication, authorization, or cryptographic practices
This chapter describes the nature of each type of vulnerability