On the Cusp: Other Weaknesses to Consider
On the Cusp: Other Weaknesses to Consider
Table of Contents
Table of Contents
Introduction
Introduction
The CWE/SANS Top 25 is really just a starting point for developers.
Many weaknesses were considered for inclusion on the Top 25, but some
did not make it to the final list. Some were not considered to be
severe enough; others were not considered to be prevalent enough.
Sometimes, the Top 25 reviewers themselves had mixed opinions on
whether a weakness should be added to the list or not.
With respect to severity, some Top 25 users may have a significantly
different threat model. For example, software uptime may be critical
to consumers who operate in critical infrastructure or e-commerce
environments. However, in the threat model being used by the Top 25,
availability is regarded as slightly less important than integrity and
confidentiality.
With respect to prevalence, some Top 25 items may not be applicable to
the class of software being developed. For example, cross-site
scripting is specific to the Web, although analogs exist in other
technologies. In other cases, developers may have already eliminated
much of the Top 25 in past efforts, so they want to look for other
weaknesses that may still be present in their software.
Some on-the-cusp items were omitted because they are already
indirectly covered on the Top 25, usually by a more general entry.
However, these would be important to consider as individual items.
For these reasons, users of the Top 25 should seriously consider
including these weaknesses in their analyses.
Weaknesses that did not have sufficient prevalence or severity
Weaknesses that did not have sufficient prevalence or severity
CWE-400: Uncontrolled Resource Consumption (aka 'Resource Exhaustion')
CWE-252: Unchecked Return Value
CWE-681: Incorrect Conversion between Numeric Types
CWE-287: Improper Authentication
CWE-656: Reliance on Security through Obscurity
CWE-134: Uncontrolled Format String
CWE-88: Argument Injection
CWE-93: CRLF Injection
CWE-573: Failure to Follow Specification
CWE-407: Algorithmic Complexity
CWE-609: Double-checked Locking
Weaknesses covered by more general entries
Weaknesses covered by more general entries
CWE-749: Exposed Dangerous Method or Function
CWE-131: Incorrect Calculation of Buffer Size
CWE-129: Unchecked Array Indexing
CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
CWE-98: Remote File Inclusion
CWE-565: Use of Cookies in Security Decision
CWE-470: Unsafe Reflection
CWE-95: Eval Injection
CWE-59: Link Following
CWE-22: Path traversal
|