CWE

Common Weakness Enumeration

A Community-Developed List of Software Weakness Types

CWE/SANS Top 25 Most Dangerous Software Errors
Home > CWE List > CWE- Individual Dictionary Definition (2.11)  
ID

CWE VIEW: Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors

View ID: 900
Structure: Graph
Status: Incomplete
Presentation Filter:
+ View Data

View Objective

CWE entries in this view (graph) are listed in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors.

+ View Audience
StakeholderDescription
Developers

By following the Top 25, developers will be able to significantly reduce the number of weaknesses that occur in their software.

Software_Customers

If a software developer claims to be following the Top 25, then customers can use the weaknesses in this view in order to formulate independent evidence of that claim.

Educators

Educators can use this view in multiple ways. For example, if there is a focus on teaching weaknesses, the educator could focus on the Top 25.

+ Relationships
Show Details:
900 - Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors
+CategoryCategory2011 Top 25 - Insecure Interaction Between Components - (864)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components)
Weaknesses in this category are listed in the "Insecure Interaction Between Components" section of the 2011 CWE/SANS Top 25 Most Dangerous Software Errors.
+Compound Element: CompositeCompound Element: CompositeCross-Site Request Forgery (CSRF) - (352)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 352 (Cross-Site Request Forgery (CSRF))
The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.Session RidingCross Site Reference ForgeryXSRF
*Weakness ClassWeakness ClassExternal Control of Critical State Data - (642)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 352 (Cross-Site Request Forgery (CSRF)) > 642 (External Control of Critical State Data)
The software stores security-critical state information about its users, or the software itself, in a location that is accessible to unauthorized actors.
*Weakness BaseWeakness BaseInsufficient Session Expiration - (613)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 352 (Cross-Site Request Forgery (CSRF)) > 613 (Insufficient Session Expiration)
According to WASC, "Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization."
*Weakness BaseWeakness BaseOrigin Validation Error - (346)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 352 (Cross-Site Request Forgery (CSRF)) > 346 (Origin Validation Error)
The software does not properly verify that the source of data or communication is valid.
*Weakness ClassWeakness ClassUnintended Proxy or Intermediary ('Confused Deputy') - (441)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 352 (Cross-Site Request Forgery (CSRF)) > 441 (Unintended Proxy or Intermediary ('Confused Deputy'))
The software receives a request, message, or directive from an upstream component, but the software does not sufficiently preserve the original source of the request before forwarding the request to an external actor that is outside of the software's control sphere. This causes the software to appear to be the source of the request, leading it to act as a proxy or other intermediary between the upstream component and the external actor.Confused Deputy
*Weakness BaseWeakness BaseImproper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - (79)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 79 (Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'))
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.XSSCSS
*Weakness BaseWeakness BaseImproper Neutralization of Special Elements used in an OS Command ('OS Command Injection') - (78)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 78 (Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'))
The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.Shell injectionShell metacharacters
*Weakness BaseWeakness BaseImproper Neutralization of Special Elements used in an SQL Command ('SQL Injection') - (89)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 89 (Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'))
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.
*Weakness ClassWeakness ClassInclusion of Functionality from Untrusted Control Sphere - (829)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 829 (Inclusion of Functionality from Untrusted Control Sphere)
The software imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.
*Weakness VariantWeakness VariantURL Redirection to Untrusted Site ('Open Redirect') - (601)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 601 (URL Redirection to Untrusted Site ('Open Redirect'))
A web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a Redirect. This simplifies phishing attacks.Open RedirectCross-site RedirectCross-domain Redirect
*Weakness BaseWeakness BaseUnrestricted Upload of File with Dangerous Type - (434)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 864 (2011 Top 25 - Insecure Interaction Between Components) > 434 (Unrestricted Upload of File with Dangerous Type)
The software allows the attacker to upload or transfer files of dangerous types that can be automatically processed within the product's environment.Unrestricted File Upload
+CategoryCategory2011 Top 25 - Porous Defenses - (866)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses)
Weaknesses in this category are listed in the "Porous Defenses" section of the 2011 CWE/SANS Top 25 Most Dangerous Software Errors.
*Weakness ClassWeakness ClassExecution with Unnecessary Privileges - (250)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 250 (Execution with Unnecessary Privileges)
The software performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses.
*Weakness BaseWeakness BaseImproper Restriction of Excessive Authentication Attempts - (307)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 307 (Improper Restriction of Excessive Authentication Attempts)
The software does not implement sufficient measures to prevent multiple failed authentication attempts within in a short time frame, making it more susceptible to brute force attacks.
*Weakness ClassWeakness ClassIncorrect Authorization - (863)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 863 (Incorrect Authorization)
The software performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. This allows attackers to bypass intended access restrictions.AuthZ
*Weakness ClassWeakness ClassIncorrect Permission Assignment for Critical Resource - (732)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 732 (Incorrect Permission Assignment for Critical Resource)
The software specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors.
*Weakness VariantWeakness VariantMissing Authentication for Critical Function - (306)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 306 (Missing Authentication for Critical Function)
The software does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.
*Weakness ClassWeakness ClassMissing Authorization - (862)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 862 (Missing Authorization)
The software does not perform an authorization check when an actor attempts to access a resource or perform an action.AuthZ
*Weakness BaseWeakness BaseMissing Encryption of Sensitive Data - (311)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 311 (Missing Encryption of Sensitive Data)
The software does not encrypt sensitive or critical information before storage or transmission.
*Weakness BaseWeakness BaseReliance on Untrusted Inputs in a Security Decision - (807)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 807 (Reliance on Untrusted Inputs in a Security Decision)
The application uses a protection mechanism that relies on the existence or values of an input, but the input can be modified by an untrusted actor in a way that bypasses the protection mechanism.
*Weakness BaseWeakness BaseUse of Hard-coded Credentials - (798)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 798 (Use of Hard-coded Credentials)
The software contains hard-coded credentials, such as a password or cryptographic key, which it uses for its own inbound authentication, outbound communication to external components, or encryption of internal data.
*Weakness BaseWeakness BaseUse of a Broken or Risky Cryptographic Algorithm - (327)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 327 (Use of a Broken or Risky Cryptographic Algorithm)
The use of a broken or risky cryptographic algorithm is an unnecessary risk that may result in the exposure of sensitive information.
*Weakness BaseWeakness BaseUse of a One-Way Hash without a Salt - (759)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 866 (2011 Top 25 - Porous Defenses) > 759 (Use of a One-Way Hash without a Salt)
The software uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the software does not also use a salt as part of the input.
+CategoryCategory2011 Top 25 - Risky Resource Management - (865)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management)
Weaknesses in this category are listed in the "Risky Resource Management" section of the 2011 CWE/SANS Top 25 Most Dangerous Software Errors.
*Weakness BaseWeakness BaseBuffer Copy without Checking Size of Input ('Classic Buffer Overflow') - (120)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 120 (Buffer Copy without Checking Size of Input ('Classic Buffer Overflow'))
The program copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow.buffer overrunUnbounded Transfer
*Weakness BaseWeakness BaseDownload of Code Without Integrity Check - (494)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 494 (Download of Code Without Integrity Check)
The product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code.
*Weakness ClassWeakness ClassImproper Limitation of a Pathname to a Restricted Directory ('Path Traversal') - (22)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 22 (Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'))
The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.Directory traversalPath traversal
*Weakness BaseWeakness BaseIncorrect Calculation of Buffer Size - (131)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 131 (Incorrect Calculation of Buffer Size)
The software does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow.
*Weakness BaseWeakness BaseInteger Overflow or Wraparound - (190)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 190 (Integer Overflow or Wraparound)
The software performs a calculation that can produce an integer overflow or wraparound, when the logic assumes that the resulting value will always be larger than the original value. This can introduce other weaknesses when the calculation is used for resource management or execution control.
*Weakness BaseWeakness BaseUse of Externally-Controlled Format String - (134)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 134 (Use of Externally-Controlled Format String)
The software uses a function that accepts a format string as an argument, but the format string originates from an external source.
*Weakness BaseWeakness BaseUse of Potentially Dangerous Function - (676)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 865 (2011 Top 25 - Risky Resource Management) > 676 (Use of Potentially Dangerous Function)
The program invokes a potentially dangerous function that could introduce a vulnerability if it is used incorrectly, but the function can also be used safely.
+CategoryCategory2011 Top 25 - Weaknesses On the Cusp - (867)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp)
Weaknesses in this category are not part of the general Top 25, but they were part of the original nominee list from which the Top 25 was drawn.
*Weakness BaseWeakness BaseAllocation of Resources Without Limits or Throttling - (770)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 770 (Allocation of Resources Without Limits or Throttling)
The software allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on how many resources can be allocated, in violation of the intended security policy for that actor.
*Weakness BaseWeakness BaseBuffer Access with Incorrect Length Value - (805)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 805 (Buffer Access with Incorrect Length Value)
The software uses a sequential operation to read or write a buffer, but it uses an incorrect length value that causes it to access memory that is outside of the bounds of the buffer.
*Weakness ClassWeakness ClassConcurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') - (362)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 362 (Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'))
The program contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently.
*Weakness BaseWeakness BaseExpired Pointer Dereference - (825)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 825 (Expired Pointer Dereference)
The program dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid.Dangling pointer
*Weakness ClassWeakness ClassImproper Check for Unusual or Exceptional Conditions - (754)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 754 (Improper Check for Unusual or Exceptional Conditions)
The software does not check or improperly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the software.
*Weakness BaseWeakness BaseImproper Cross-boundary Removal of Sensitive Data - (212)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 212 (Improper Cross-boundary Removal of Sensitive Data)
The software uses a resource that contains sensitive data, but it does not properly remove that data before it stores, transfers, or shares the resource with actors in another control sphere.
*Weakness BaseWeakness BaseImproper Enforcement of Behavioral Workflow - (841)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 841 (Improper Enforcement of Behavioral Workflow)
The software supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence.
*Weakness BaseWeakness BaseImproper Validation of Array Index - (129)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 129 (Improper Validation of Array Index)
The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array. out-of-bounds array indexindex-out-of-rangearray index underflow
*Weakness BaseWeakness BaseInappropriate Encoding for Output Context - (838)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 838 (Inappropriate Encoding for Output Context)
The software uses or specifies an encoding when generating output to a downstream component, but the specified encoding is not the same as the encoding that is expected by the downstream component.
*Weakness BaseWeakness BaseIncorrect Conversion between Numeric Types - (681)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 681 (Incorrect Conversion between Numeric Types)
When converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur.
*Weakness BaseWeakness BaseInformation Exposure Through an Error Message - (209)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 209 (Information Exposure Through an Error Message)
The software generates an error message that includes sensitive information about its environment, users, or associated data.
*Weakness BaseWeakness BaseMissing Initialization of a Variable - (456)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 456 (Missing Initialization of a Variable)
The software does not initialize critical variables, which causes the execution environment to use unexpected values.
*Weakness BaseWeakness BaseMissing Release of Resource after Effective Lifetime - (772)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 772 (Missing Release of Resource after Effective Lifetime)
The software does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.
*Weakness BaseWeakness BaseNULL Pointer Dereference - (476)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 476 (NULL Pointer Dereference)
A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit.
*Weakness BaseWeakness BaseUntrusted Pointer Dereference - (822)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 822 (Untrusted Pointer Dereference)
The program obtains a value from an untrusted source, converts this value to a pointer, and dereferences the resulting pointer.
*Weakness ClassWeakness ClassUse of Insufficiently Random Values - (330)
900 (Weaknesses in the 2011 CWE/SANS Top 25 Most Dangerous Software Errors) > 867 (2011 Top 25 - Weaknesses On the Cusp) > 330 (Use of Insufficiently Random Values)
The software may use insufficiently random numbers or values in a security context that depends on unpredictable numbers.
+ References
"2011 CWE/SANS Top 25 Most Dangerous Software Errors". 2011-06-27. <http://cwe.mitre.org/top25>.
+ Content History
Submissions
Submission DateSubmitterOrganizationSource
2011-06-25Internal CWE Team
+ View Metrics
CWEs in this viewTotal CWEs
Total45out of1006
Views0out of33
Categories4out of245
Weaknesses40out of720
Compound_Elements1out of8

More information is available — Please select a different filter.
Page Last Updated: May 05, 2017