CWE

Common Weakness Enumeration

A Community-Developed Dictionary of Software Weakness Types

CWE/SANS Top 25 Most Dangerous Software Errors Common Weakness Scoring System
Common Weakness Risk Analysis Framework
Home > CWE List > VIEW GRAPH: CWE-1000: Research Concepts (2.4)  

CWE-1000: Research Concepts

 
Research Concepts
Definition in a New Window Definition in a New Window
View ID: 1000 (View: Graph)Status: Draft
+ View Data

View Objective

This view is intended to facilitate research into weaknesses, including their inter-dependencies and their role in vulnerabilities. It classifies weaknesses in a way that largely ignores how they can be detected, where they appear in code, and when they are introduced in the software development life-cycle. Instead, it is mainly organized according to abstractions of software behaviors. It uses a deep hierarchical organization, with more levels of abstraction than other classification schemes. The top-level entries are called Pillars.

Where possible, this view uses abstractions that do not consider particular languages, frameworks, technologies, life-cycle development phases, frequency of occurrence, or types of resources. It explicitly identifies relationships that form chains and composites, which have not been a formal part of past classification efforts. Chains and composites might help explain why mutual exclusivity is difficult to achieve within security error taxonomies.

This view is roughly aligned with MITRE's research into vulnerability theory, especially with respect to behaviors and resources. Ideally, this view will only cover weakness-to-weakness relationships, with minimal overlap and very few categories. This view could be useful for academic research, CWE maintenance, and mapping. It can be leveraged to systematically identify theoretical gaps within CWE and, by extension, the general security community.

+ View Metrics
CWEs in this viewTotal CWEs
Total712out of920
Views0out of29
Categories9out of177
Weaknesses694out of705
Compound_Elements9out of9
+ View Audience
StakeholderDescription
Academic_Researchers

This view provides an organizational structure for weaknesses that is different than the approaches undertaken by taxonomies such as Seven Pernicious Kingdoms.

Applied_Researchers

Applied researchers could use the higher-level classes and bases to identify potential areas for future research.

Developers

Developers who have fully integrated security into their SDLC might find this view useful in identifying general patterns of issues within code, instead of relying heavily on "badness lists" that only cover the most severe issues.

+ Relationships
NatureTypeIDNameView(s) this relationship pertains toView(s)
HasMemberWeakness ClassWeakness Class118Improper Access of Indexable Resource ('Range Error')
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class330Use of Insufficiently Random Values
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class435Interaction Error
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class664Improper Control of a Resource Through its Lifetime
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class682Incorrect Calculation
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class691Insufficient Control Flow Management
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class693Protection Mechanism Failure
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class697Insufficient Comparison
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class703Improper Check or Handling of Exceptional Conditions
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class707Improper Enforcement of Message or Data Structure
Research Concepts (primary)1000
HasMemberWeakness ClassWeakness Class710Coding Standards Violation
Research Concepts (primary)1000
+ Content History
Modifications
Modification DateModifierOrganizationSource
2008-09-08CWE Content TeamMITREInternal
updated Description, Name, Relationships, View_Audience, View_Structure
2010-02-16CWE Content TeamMITREInternal
updated Relationships
Previous Entry Names
Change DatePrevious Entry Name
2008-09-09Natural Hierarchy
1000 - Research Concepts
+Weakness ClassWeakness ClassCoding Standards Violation - (710)Coding Standards Violation - (710)
+Weakness ClassWeakness ClassHidden Functionality - (912)Hidden Functionality - (912)
+Weakness ClassWeakness ClassEmbedded Malicious Code - (506)Embedded Malicious Code - (506)
*Weakness BaseWeakness BaseLogic/Time Bomb - (511)Logic/Time Bomb - (511)
*Weakness BaseWeakness BaseSpyware - (512)Spyware - (512)
*Weakness BaseWeakness BaseTrapdoor - (510)Trapdoor - (510)
+Weakness ClassWeakness ClassCovert Channel - (514)Covert Channel - (514)
*Weakness BaseWeakness BaseCovert Timing Channel - (385)Covert Timing Channel - (385)
+Weakness ClassWeakness ClassImproper Fulfillment of API Contract ('API Abuse') - (227)Improper Fulfillment of API Contract ('API Abuse') - (227)
+Weakness ClassWeakness ClassImproper Following of Specification by Caller - (573)Improper Following of Specification by Caller - (573)
+Weakness BaseWeakness BaseFunction Call with Incorrectly Specified Arguments - (628)Function Call with Incorrectly Specified Arguments - (628)
+Weakness BaseWeakness BaseUse of Low-Level Functionality - (695)Use of Low-Level Functionality - (695)
+Weakness ClassWeakness ClassIndicator of Poor Code Quality - (398)Indicator of Poor Code Quality - (398)
+Weakness VariantWeakness VariantDead Code - (561)Dead Code - (561)
*Weakness VariantWeakness VariantEmpty Synchronized Block - (585)Empty Synchronized Block - (585)
*Weakness VariantWeakness VariantSuspicious Comment - (546)Suspicious Comment - (546)
*Weakness VariantWeakness VariantUnused Variable - (563)Unused Variable - (563)
+Weakness ClassWeakness ClassReliance on Undefined, Unspecified, or Implementation-Defined Behavior - (758)Reliance on Undefined, Unspecified, or Implementation-Defined Behavior - (758)
+Weakness ClassWeakness ClassViolation of Secure Design Principles - (657)Violation of Secure Design Principles - (657)
+Weakness ClassWeakness ClassImproper Access of Indexable Resource ('Range Error') - (118)Improper Access of Indexable Resource ('Range Error') - (118)
+Weakness ClassWeakness ClassImproper Restriction of Operations within the Bounds of a Memory Buffer - (119)Improper Restriction of Operations within the Bounds of a Memory Buffer - (119)
+Weakness BaseWeakness BaseExpired Pointer Dereference - (825)Expired Pointer Dereference - (825)
*Weakness VariantWeakness VariantDouble Free - (415)Double Free - (415)
*Weakness BaseWeakness BaseUse After Free - (416)Use After Free - (416)
+Weakness BaseWeakness BaseOut-of-bounds Read - (125)Out-of-bounds Read - (125)
*Weakness VariantWeakness VariantBuffer Over-read - (126)Buffer Over-read - (126)
*Weakness VariantWeakness VariantBuffer Under-read - (127)Buffer Under-read - (127)
+Weakness ClassWeakness ClassImproper Check or Handling of Exceptional Conditions - (703)Improper Check or Handling of Exceptional Conditions - (703)
+Weakness ClassWeakness ClassImproper Handling of Exceptional Conditions - (755)Improper Handling of Exceptional Conditions - (755)
+Weakness BaseWeakness BaseInformation Exposure Through an Error Message - (209)Information Exposure Through an Error Message - (209)
+Weakness ClassWeakness ClassImproper Handling of Syntactically Invalid Structure - (228)Improper Handling of Syntactically Invalid Structure - (228)
+Weakness ClassWeakness ClassImproper Control of a Resource Through its Lifetime - (664)Improper Control of a Resource Through its Lifetime - (664)
+Weakness ClassWeakness ClassAsymmetric Resource Consumption (Amplification) - (405)Asymmetric Resource Consumption (Amplification) - (405)
+Weakness ClassWeakness ClassExposure of Resource to Wrong Sphere - (668)Exposure of Resource to Wrong Sphere - (668)
+Weakness ClassWeakness ClassCovert Channel - (514)Covert Channel - (514)
*Weakness BaseWeakness BaseCovert Timing Channel - (385)Covert Timing Channel - (385)
+Weakness ClassWeakness ClassExternal Control of Critical State Data - (642)External Control of Critical State Data - (642)
+Weakness BaseWeakness BaseFiles or Directories Accessible to External Parties - (552)Files or Directories Accessible to External Parties - (552)
+Weakness ClassWeakness ClassInformation Exposure - (200)Information Exposure - (200)
+Weakness BaseWeakness BaseFile and Directory Information Exposure - (538)File and Directory Information Exposure - (538)
+Weakness ClassWeakness ClassInformation Exposure Through Discrepancy - (203)Information Exposure Through Discrepancy - (203)
+Weakness BaseWeakness BaseInformation Exposure Through an Error Message - (209)Information Exposure Through an Error Message - (209)
+Weakness ClassWeakness ClassImproper Limitation of a Pathname to a Restricted Directory ('Path Traversal') - (22)Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') - (22)
+Weakness BaseWeakness BaseRelative Path Traversal - (23)Relative Path Traversal - (23)
+Weakness ClassWeakness ClassIncorrect Permission Assignment for Critical Resource - (732)Incorrect Permission Assignment for Critical Resource - (732)
+Weakness BaseWeakness BaseInsufficiently Protected Credentials - (522)Insufficiently Protected Credentials - (522)
+Weakness ClassWeakness ClassExternally Controlled Reference to a Resource in Another Sphere - (610)Externally Controlled Reference to a Resource in Another Sphere - (610)
+Weakness ClassWeakness ClassImproper Control of Dynamically-Managed Code Resources - (913)Improper Control of Dynamically-Managed Code Resources - (913)
+Weakness BaseWeakness BaseImproper Initialization - (665)Improper Initialization - (665)
+Weakness BaseWeakness BaseImproper Resource Shutdown or Release - (404)Improper Resource Shutdown or Release - (404)
*Weakness VariantWeakness VariantNot Using Password Aging - (262)Not Using Password Aging - (262)
+Weakness BaseWeakness BaseImproper Synchronization - (662)Improper Synchronization - (662)
+Weakness BaseWeakness BaseImproper Locking - (667)Improper Locking - (667)
+Weakness ClassWeakness ClassIncorrect Resource Transfer Between Spheres - (669)Incorrect Resource Transfer Between Spheres - (669)
+Weakness ClassWeakness ClassIncorrect Type Conversion or Cast - (704)Incorrect Type Conversion or Cast - (704)
+Weakness ClassWeakness ClassInformation Loss or Omission - (221)Information Loss or Omission - (221)
+Weakness ClassWeakness ClassInsufficient Encapsulation - (485)Insufficient Encapsulation - (485)
*Weakness BaseWeakness BaseLeftover Debug Code - (489)Leftover Debug Code - (489)
+Weakness BaseWeakness BaseOperation on Resource in Wrong Phase of Lifetime - (666)Operation on Resource in Wrong Phase of Lifetime - (666)
+Weakness BaseWeakness BaseUncontrolled Resource Consumption ('Resource Exhaustion') - (400)Uncontrolled Resource Consumption ('Resource Exhaustion') - (400)
+Weakness ClassWeakness ClassUse of Incorrectly-Resolved Name or Reference - (706)Use of Incorrectly-Resolved Name or Reference - (706)
+Weakness ClassWeakness ClassImproper Limitation of a Pathname to a Restricted Directory ('Path Traversal') - (22)Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') - (22)
+Weakness BaseWeakness BaseRelative Path Traversal - (23)Relative Path Traversal - (23)
+Weakness BaseWeakness BaseImproper Link Resolution Before File Access ('Link Following') - (59)Improper Link Resolution Before File Access ('Link Following') - (59)
+Weakness BaseWeakness BaseImproper Resolution of Path Equivalence - (41)Improper Resolution of Path Equivalence - (41)
+Weakness ClassWeakness ClassImproper Access Control - (284)Improper Access Control - (284)
+Weakness ClassWeakness ClassImproper Authentication - (287)Improper Authentication - (287)
+Weakness ClassWeakness ClassAuthentication Bypass Issues - (592)Authentication Bypass Issues - (592)
+Weakness BaseWeakness BaseInsufficiently Protected Credentials - (522)Insufficiently Protected Credentials - (522)
*Weakness VariantWeakness VariantNot Using Password Aging - (262)Not Using Password Aging - (262)
*Weakness BaseWeakness BaseGuessable CAPTCHA - (804)Guessable CAPTCHA - (804)
+Weakness ClassWeakness ClassImproper Authorization - (285)Improper Authorization - (285)
+Weakness ClassWeakness ClassIncorrect Permission Assignment for Critical Resource - (732)Incorrect Permission Assignment for Critical Resource - (732)
+Weakness BaseWeakness BaseImproper Privilege Management - (269)Improper Privilege Management - (269)
+Weakness ClassWeakness ClassImproper Enforcement of Message or Data Structure - (707)Improper Enforcement of Message or Data Structure - (707)
+Weakness ClassWeakness ClassImproper Handling of Syntactically Invalid Structure - (228)Improper Handling of Syntactically Invalid Structure - (228)
+Weakness ClassWeakness ClassImproper Neutralization of Special Elements - (138)Improper Neutralization of Special Elements - (138)
+Weakness ClassWeakness ClassFailure to Sanitize Special Element - (159)Failure to Sanitize Special Element - (159)
+Weakness VariantWeakness VariantImproper Neutralization of Trailing Special Elements - (162)Improper Neutralization of Trailing Special Elements - (162)
+Weakness ClassWeakness ClassImproper Filtering of Special Elements - (790)Improper Filtering of Special Elements - (790)
+Weakness BaseWeakness BaseImproper Neutralization of Delimiters - (140)Improper Neutralization of Delimiters - (140)
+Weakness ClassWeakness ClassImproper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') - (74)Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') - (74)
+Weakness BaseWeakness BaseImproper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - (79)Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - (79)
+Weakness ClassWeakness ClassImproper Neutralization of Special Elements used in a Command ('Command Injection') - (77)Improper Neutralization of Special Elements used in a Command ('Command Injection') - (77)
+Weakness ClassWeakness ClassIncorrect Calculation - (682)Incorrect Calculation - (682)
+Weakness ClassWeakness ClassInsufficient Comparison - (697)Insufficient Comparison - (697)
+Weakness ClassWeakness ClassInsufficient Control Flow Management - (691)Insufficient Control Flow Management - (691)
+Weakness ClassWeakness ClassAlways-Incorrect Control Flow Implementation - (670)Always-Incorrect Control Flow Implementation - (670)
+Weakness ClassWeakness ClassConcurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') - (362)Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') - (362)
+Weakness ClassWeakness ClassIncorrect Control Flow Scoping - (705)Incorrect Control Flow Scoping - (705)
*Weakness BaseWeakness BaseMissing Handler - (431)Missing Handler - (431)
+Weakness BaseWeakness BaseImproper Synchronization - (662)Improper Synchronization - (662)
+Weakness BaseWeakness BaseImproper Locking - (667)Improper Locking - (667)
+Weakness ClassWeakness ClassInteraction Error - (435)Interaction Error - (435)
+Weakness ClassWeakness ClassProtection Mechanism Failure - (693)Protection Mechanism Failure - (693)
+Weakness ClassWeakness ClassImproper Access Control - (284)Improper Access Control - (284)
+Weakness ClassWeakness ClassImproper Authentication - (287)Improper Authentication - (287)
+Weakness ClassWeakness ClassAuthentication Bypass Issues - (592)Authentication Bypass Issues - (592)
+Weakness BaseWeakness BaseInsufficiently Protected Credentials - (522)Insufficiently Protected Credentials - (522)
*Weakness VariantWeakness VariantNot Using Password Aging - (262)Not Using Password Aging - (262)
*Weakness BaseWeakness BaseGuessable CAPTCHA - (804)Guessable CAPTCHA - (804)
+Weakness ClassWeakness ClassImproper Authorization - (285)Improper Authorization - (285)
+Weakness ClassWeakness ClassIncorrect Permission Assignment for Critical Resource - (732)Incorrect Permission Assignment for Critical Resource - (732)
+Weakness BaseWeakness BaseImproper Privilege Management - (269)Improper Privilege Management - (269)
+Weakness BaseWeakness BaseImproper Certificate Validation - (295)Improper Certificate Validation - (295)
+Weakness ClassWeakness ClassImproper Input Validation - (20)Improper Input Validation - (20)
*Weakness BaseWeakness BaseProcess Control - (114)Process Control - (114)
*Weakness BaseWeakness BaseIncomplete Blacklist - (184)Incomplete Blacklist - (184)
+Weakness ClassWeakness ClassInsufficient Verification of Data Authenticity - (345)Insufficient Verification of Data Authenticity - (345)
+Weakness BaseWeakness BaseMissing Encryption of Sensitive Data - (311)Missing Encryption of Sensitive Data - (311)
*Weakness BaseWeakness BasePermissive Whitelist - (183)Permissive Whitelist - (183)
*Weakness BaseWeakness BaseInsufficient Logging - (778)Insufficient Logging - (778)
+Weakness ClassWeakness ClassUse of Insufficiently Random Values - (330)Use of Insufficiently Random Values - (330)
+Weakness ClassWeakness ClassPRNG Seed Error - (335)PRNG Seed Error - (335)
*Weakness BaseWeakness BaseSame Seed in PRNG - (336)Same Seed in PRNG - (336)
*Weakness BaseWeakness BaseGuessable CAPTCHA - (804)Guessable CAPTCHA - (804)
Page Last Updated: May 17, 2013