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.10)  
ID

CWE VIEW: Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors

Mapping-Friendly:
View ID: 750
Structure: Graph
Status: Incomplete
Presentation Filter:
+ View Data

View Objective

CWE entries in this view (graph) are listed in the 2009 CWE/SANS Top 25 Programming 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 search for 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
750 - Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors
+CategoryCategory2009 Top 25 - Insecure Interaction Between Components - (751)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 Top 25 - Insecure Interaction Between Components)
Weaknesses in this category are listed in the "Insecure Interaction Between Components" section of the 2009 CWE/SANS Top 25 Programming Errors.
*Weakness BaseWeakness BaseCleartext Transmission of Sensitive Information - (319)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 Top 25 - Insecure Interaction Between Components) > 319 (Cleartext Transmission of Sensitive Information)
The software transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
*Weakness ClassWeakness ClassConcurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') - (362)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 Top 25 - Insecure Interaction Between Components) > 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.
+Compound Element: CompositeCompound Element: CompositeCross-Site Request Forgery (CSRF) - (352)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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 ClassWeakness ClassImproper Encoding or Escaping of Output - (116)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 Top 25 - Insecure Interaction Between Components) > 116 (Improper Encoding or Escaping of Output)
The software prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.Output SanitizationOutput ValidationOutput Encoding
*Weakness ClassWeakness ClassImproper Input Validation - (20)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 Top 25 - Insecure Interaction Between Components) > 20 (Improper Input Validation)
The product does not validate or incorrectly validates input that can affect the control flow or data flow of a program.
*Weakness BaseWeakness BaseImproper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - (79)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 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 BaseWeakness BaseInformation Exposure Through an Error Message - (209)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 751 (2009 Top 25 - Insecure Interaction Between Components) > 209 (Information Exposure Through an Error Message)
The software generates an error message that includes sensitive information about its environment, users, or associated data.
+CategoryCategory2009 Top 25 - Porous Defenses - (753)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 Top 25 - Porous Defenses)
Weaknesses in this category are listed in the "Porous Defenses" section of the 2009 CWE/SANS Top 25 Programming Errors.
*Weakness BaseWeakness BaseClient-Side Enforcement of Server-Side Security - (602)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 Top 25 - Porous Defenses) > 602 (Client-Side Enforcement of Server-Side Security)
The software is composed of a server that relies on the client to implement a mechanism that is intended to protect the server.
*Weakness ClassWeakness ClassExecution with Unnecessary Privileges - (250)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 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 ClassWeakness ClassImproper Authorization - (285)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 Top 25 - Porous Defenses) > 285 (Improper Authorization)
The software does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.AuthZ
*Weakness ClassWeakness ClassIncorrect Permission Assignment for Critical Resource - (732)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 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 BaseWeakness BaseUse of Hard-coded Credentials - (798)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 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 Hard-coded Password - (259)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 Top 25 - Porous Defenses) > 259 (Use of Hard-coded Password)
The software contains a hard-coded password, which it uses for its own inbound authentication or for outbound communication to external components.
*Weakness ClassWeakness ClassUse of Insufficiently Random Values - (330)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 Top 25 - Porous Defenses) > 330 (Use of Insufficiently Random Values)
The software may use insufficiently random numbers or values in a security context that depends on unpredictable numbers.
*Weakness BaseWeakness BaseUse of a Broken or Risky Cryptographic Algorithm - (327)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 753 (2009 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.
+CategoryCategory2009 Top 25 - Risky Resource Management - (752)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management)
Weaknesses in this category are listed in the "Risky Resource Management" section of the 2009 CWE/SANS Top 25 Programming Errors.
*Weakness BaseWeakness BaseDownload of Code Without Integrity Check - (494)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 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 ClassExternal Control of Critical State Data - (642)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 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 ClassWeakness ClassExternal Control of File Name or Path - (73)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 73 (External Control of File Name or Path)
The software allows user input to control or influence paths or file names that are used in filesystem operations.
*Weakness ClassWeakness ClassImproper Control of Generation of Code ('Code Injection') - (94)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 94 (Improper Control of Generation of Code ('Code Injection'))
The software constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
*Weakness ClassWeakness ClassImproper Initialization - (665)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 665 (Improper Initialization)
The software does not initialize or incorrectly initializes a resource, which might leave the resource in an unexpected state when it is accessed or used.
*Weakness BaseWeakness BaseImproper Resource Shutdown or Release - (404)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 404 (Improper Resource Shutdown or Release)
The program does not release or incorrectly releases a resource before it is made available for re-use.
*Weakness ClassWeakness ClassImproper Restriction of Operations within the Bounds of a Memory Buffer - (119)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 119 (Improper Restriction of Operations within the Bounds of a Memory Buffer)
The software performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer.Memory Corruption
*Weakness ClassWeakness ClassIncorrect Calculation - (682)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 682 (Incorrect Calculation)
The software performs a calculation that generates incorrect or unintended results that are later used in security-critical decisions or resource management.
+Compound Element: CompositeCompound Element: CompositeUntrusted Search Path - (426)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 426 (Untrusted Search Path)
The application searches for critical resources using an externally-supplied search path that can point to resources that are not under the application's direct control.Untrusted Path
*Weakness ClassWeakness ClassContainment Errors (Container Errors) - (216)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 426 (Untrusted Search Path) > 216 (Containment Errors (Container Errors))
This tries to cover various problems in which improper data are included within a "container."
*Weakness BaseWeakness BaseModification of Assumed-Immutable Data (MAID) - (471)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 426 (Untrusted Search Path) > 471 (Modification of Assumed-Immutable Data (MAID))
The software does not properly protect an assumed-immutable element from being modified by an attacker.
*CategoryCategoryPermission Issues - (275)
750 (Weaknesses in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors) > 752 (2009 Top 25 - Risky Resource Management) > 426 (Untrusted Search Path) > 275 (Permission Issues)
Weaknesses in this category are related to improper assignment or handling of permissions.
+ References
"2009 CWE/SANS Top 25 Most Dangerous Programming Errors". 2009-01-12. <http://cwe.mitre.org/top25>.
+ Content History
Submissions
Submission DateSubmitterOrganizationSource
2009-01-12Internal CWE Team
+ View Metrics
CWEs in this viewTotal CWEs
Total29out of1005
Views0out of33
Categories3out of244
Weaknesses24out of720
Compound_Elements2out of8

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