CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

2021 CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.10)
ID

CWE观点:方案及质量度量(2016)

视图ID: 1128
类型:
下载:小册子|CSV|XML
+客观的
这个视图列出了最重要的软件质量问题被财团信息与软件质量(方案)自动化质量特性的措施,于2016年发布。这些措施都是从对象管理组织(OMG)的标准。
+观众
利益相关者 描述
软件开发人员 这个视图提供了一个很好的起点对于任何参与软件开发(包括建筑师、设计师、程序员、测试人员)来确保代码质量问题被认为是在开发过程中。
产品供应商 该视图可以帮助产品供应商理解代码质量问题和传达他们的软件的整体状态。
评估工具供应商 这个视图提供了一个良好的起点评估工具厂商(如供应商出售静态分析工具)希望了解什么是软件代码质量好的,质量问题可能会关注的。
+的关系
下面的图显示了树状之间的关系在不同级别的抽象上存在的弱点。在最高的层次上,类别和支柱存在弱点。类别(不是技术上的缺点)是特殊CWE条目用于集团弱点,共享一个共同的特点。柱子是描述的弱点在最抽象的时尚。下面这些顶级条目的弱点是不同程度的抽象。类仍然非常抽象,通常独立于任何特定的语言或技术。基础水平的弱点是用来提供一个更具体的类型的弱点。变量是一个弱点,在很低的水平的细节,描述通常局限于一个特定的语言或技术。链是一系列的缺点,必须可以连续产生可利用的漏洞。而复合的缺点是一组必须同时在场,以产生一个可利用的漏洞。
显示详细信息:
1128 -方案质量度量(2016)
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。方案》(2016)——可靠性质量措施- (1129)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)
弱点这类方案及相关质量可靠性措施,2016年记录的自动源代码方案可靠性度量(ASCRM)规范1.0。存在这些缺点可以减少软件的可靠性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缓冲区复制没有检查输入的大小(经典的缓冲区溢出)- (120)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>120年 (缓冲区复制没有检查输入的大小(“经典缓冲区溢出”))
产品输入缓冲区复制到输出缓冲区没有验证输入缓冲区的大小小于输出缓冲区的大小,导致缓冲区溢出。经典的缓冲区溢出无限的转移
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不返回值- (252)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>252年 (不返回值)
产品不会检查方法或函数返回值,可以防止检测意想不到的状态和条件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。捕捉通用异常宣言- (396)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>396年 (抓住宣言一般例外)
捕捉过于广泛的异常促进复杂的错误处理代码,更有可能包含安全漏洞。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。声明抛出的一般例外- (397)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>397年 (泛型声明抛出异常)
抛出过于广泛的异常促进复杂的错误处理代码,更有可能包含安全漏洞。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。失踪的初始化一个变量- (456)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>456年 (没有初始化的变量)
产品不关键变量进行初始化,导致执行环境使用意想不到的价值。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。不受控制的递归- (674)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>674年 (不受控制的递归)
产品不适当控制的递归,消耗过多的资源,如分配的内存或程序堆栈。堆栈疲惫
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。不正确类型转换或演员- (704)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>704年 (错误类型转换或铸)
产品不正确地转换为一个对象,资源,或结构从一个类型到另一个类型。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪后释放资源的有效寿命- (772)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>772年 (失踪后释放资源有效的一生)
产品不其有效寿命结束后释放资源,即。后,资源不再需要。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。访问结束后的内存位置缓冲区- (788)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>788年 (访问的内存位置缓冲区结束后)
产品读取或写入缓冲区使用索引或指针,引用一个内存位置后的缓冲区。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。与虚拟析构函数和子类父类没有虚析构函数- (1045)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1045年 (父类没有虚拟的虚拟析构函数和子类析构函数)
父类有一个虚析构函数方法,但父母有一个孩子没有虚拟析构函数的类。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。模块与循环依赖- (1047)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1047年 (与循环依赖模块)
产品包含的模块,一个模块的引用,循环回本身,即。,有循环依赖。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。用硬编码的网络资源配置数据初始化- (1051)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1051年 (与硬编码的网络资源配置数据初始化)
产品使用硬编码的值初始化数据作为网络资源标识符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与可变参数- (1056)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1056年 (使用可变参数调用控制元件)
named-callable或方法控制元素有一个签名,支持一个变量(可变)的参数或参数数量。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件在多线程环境中使用最后静态存储或成员元素- (1058)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1058年 (调用控制元件在多线程情况下不是final静态存储或元素)
代码包含一个函数或方法,运行在多线程环境中,但拥有一个不安全的最后的静态存储数据元素或成员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。父类与子类的引用- (1062)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1062年 (父类与子类的引用)
的代码有一个父类,其中包含子类的引用,其方法或其成员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。运行时资源管理控制元件在一个组件应用服务器上运行- (1065)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1065年 (运行时资源管理控制元件组件构建应用程序服务器上运行)
从应用服务器产品使用部署组件,但是它还使用低级函数/方法管理的资源,而不是应用服务器提供的API。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的序列化控制元件- (1066)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1066年 (缺少序列化控制元件)
产品包含一个可序列化的数据元素,没有一个相关的序列化方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。空异常块- (1069)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1069年 (空异常块)
一个调用代码块包含一个异常处理块不包含任何代码,即是空的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可序列化的数据元素包含non-Serializable项元素- (1070)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1070年 (可序列化的数据元素包含non-Serializable项元素)
产品包含一个可序列化的,可储存的数据元素,如字段或成员,但是数据元素包含成员元素没有可序列化的。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。浮点数与不正确的操作符- (1077)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1077年 (与不正确的浮点比较操作符)
代码执行两个浮动之间的比较,如一个平等的测试(浮点)值,但它使用比较运算符,不占精度损失的可能性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。父类没有虚析构函数的方法- (1079)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1079年 (父类没有虚析构函数方法)
一个父类包含一个或多个子类,但父类没有虚析构函数的方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。自我破坏控制元件类实例- (1082)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1082年 (类实例的自我破坏控制元件)
代码包含一个类实例,调用方法或函数删除或销毁。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。数据访问管理器组件预期以外的数据- (1083)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1083年 (预期的数据以外的数据访问管理器组件)
该产品旨在通过一个特定的数据管理器来管理数据访问组件,如关系或非sql数据库中,但是它包含执行数据访问操作的代码没有使用该组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有一个虚拟析构函数类和虚拟方法- (1087)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1087年 (类和虚拟方法没有一个虚拟析构函数)
一个类包含一个虚方法,但该方法没有一个相关的虚拟析构函数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。同步访问远程资源没有超时- (1088)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1088年 (同步访问远程资源没有超时)
代码有一个同步调用远程资源,但是没有超时,或者超时设置为无限。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。持久存储数据元素没有关联比较控制元件- (1097)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1097年 (持久存储数据元素没有关联比较控制元件)
产品使用一个存储数据元素没有所有必要的相关函数或方法来支持比较。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。单例类的实例创建没有适当的锁定或同步- (1096)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1096年 (单例类的实例创建没有适当的锁定或同步)
产品实现了一个单例设计模式,但不使用适当的锁定或其他同步机制来确保单例类只初始化一次。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。数据元素包含指针项目没有适当的复制控制元件- (1098)
1128年 (方案及质量度量(2016))>1129年 (方案及质量措施》(2016)——可靠性)>1098年 (数据元素包含指针项目没有适当的复制控制元件)
代码包含一个数据元素的指针,没有一个相关的复制或构造函数的方法。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。方案及质量措施》(2016)——可维护性- (1130)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)
弱点这类方案及质量相关措施可维护性,像2016年记录的自动化代码可维护性度量(ASCMM)规范1.0。存在这些缺点可以减少软件的可维护性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。死代码- (561)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>561年 (死代码)
产品包含死代码,无法执行。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用冗余代码- (1041)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1041年 (使用的冗余代码)
该产品具有多种功能、方法、程序、宏等等,包含相同的代码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。体系结构与预期范围以外的水平层的数量- (1044)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1044年 (建筑与预期范围以外的水平层的数量)
产品的架构包含太多或太少,水平层。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。模块与循环依赖- (1047)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1047年 (与循环依赖模块)
产品包含的模块,一个模块的引用,循环回本身,即。,有循环依赖。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件的大量外部调用- (1048)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1048年 (调用控制元素的大量外部调用)
代码包含调用控制元素包含一个特别大的数对其他应用程序对象的引用外部调用的上下文,即过度大扇出价值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度使用硬编码文本初始化- (1052)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1052年 (在初始化过度使用硬编码的文字)
产品初始化数据元素使用硬编码的文字,不是一个简单的整数或静态常量元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不必要的调用控制元件在一个深水平层- (1054)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1054年 (在一个不必要的调用控制元件深水平层)
代码在一个架构层调用的代码驻留在更深的一层比相邻层,即。跳过至少一层调用,调用代码不属于垂直效用层,可以引用任何水平层。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。从具体类多重继承- (1055)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1055年 (具体类的多重继承)
产品包含一个类继承多个具体类。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与签名包含过多的参数- (1064)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1064年 (调用控制元素签名包含过多的参数)
产品包含一个函数、子程序或方法的签名有一个不必要的大量参数/参数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。类过深的继承- (1074)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1074年 (与过深的继承类)
一个类继承的水平太高了,也就是说。,它有一个大量的父类。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无条件的控制流开关组外的转移- (1075)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1075年 (无条件的控制流传输开关组外)
产品执行无条件的控制转移(如“goto”)在代码之外的一个分支结构如开关部件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。源代码文件,过度的代码的行数- (1080)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1080年 (源代码文件与过度的代码行数)
一个源代码文件的代码行数太多了。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。关键数据元素声明- (766)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>766年 (关键数据元素声明公开)
产品声明一个关键变量、字段或成员时公共安全政策要求它是私有的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与过度的文件或数据访问操作- (1084)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1084年 (调用控制元素过多的文件或数据访问操作)
一个函数或方法包含太多的操作,利用数据管理器或文件资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与过度的注释掉的代码- (1085)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1085年 (调用控制元素的过量体积注释掉代码)
函数、方法、过程等含有过量的代码被注释掉了它的身体内。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。类子类的过多- (1086)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1086年 (类过度数量的孩子类)
一个类包含一个不必要的大量的儿童。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。方法包含访问另一个类的成员元素- (1090)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1090年 (方法包含访问另一个类的成员元素)
一个类方法执行一个操作,直接从另一个类成员访问元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用相同的调用在多个架构层控制元件- (1092)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1092年 (使用相同的调用控制元素在多个架构层)
产品使用相同的跨多个架构层控制元件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。内循环条件值更新循环- (1095)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1095年 (循环条件值更新内循环)
产品使用一个循环与基于控制流条件的值更新的体内循环。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度McCabe圈复杂度- (1121)
1128年 (方案及质量度量(2016))>1130年 (方案及质量措施》(2016)——可维护性)>1121年 (过度McCabe圈复杂度)
代码包含超过一个理想的最大McCabe圈复杂度。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。方案》(2016)——安全质量措施- (1131)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)
弱点这类方案及相关安全、质量措施,记录在2016年自动源代码安全措施(ASCSM)规范1.0。存在这些缺点可以减少软件的安全性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制限制目录的路径名(“路径遍历”)(22)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>22 (不当限制限制目录的路径名(路径遍历))
产品使用外部输入来构造一个路径名,目的是为了辨别一个文件或目录,坐落在父目录的限制,但是产品不正确路径名中的中和特殊元素可以导致路径名来解决限制目录以外的位置。目录遍历路径遍历
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当使用中和特殊元素在一个操作系统命令(OS命令注入)- (78)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>78年 (中和不当使用特殊的元素在一个操作系统命令(OS命令注入))
产品结构的全部或部分操作系统命令使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改OS命令发送到下游组件。壳注射Shell元字符
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。中和不当输入在Web页面生成(“跨站点脚本编制”)- (79)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>79年 (中和不当输入在Web页面生成(“跨站点脚本编制”))
产品不中和或错误中和用户可控输入之前放在输出作为web页面使用的其他用户。XSSHTML注入CSS
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当使用中和特殊元素在一个SQL命令(SQL注入)- (89)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>89年 (不当中和特殊元素中使用一个SQL命令(SQL注入的))
产品构造SQL命令的所有或部分使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改SQL命令发送到下游组件。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。不恰当的控制资源标识符(“资源注入”)- (99)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>99年 (不当控制的资源标识符(“资源注入”))
产品从一个上游组件接收输入,但这并不限制或者错误地限制输入前用作标识符以外的资源可能有意的控制范围。不安全的直接对象引用
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缓冲区复制没有检查输入的大小(经典的缓冲区溢出)- (120)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>120年 (缓冲区复制没有检查输入的大小(“经典缓冲区溢出”))
产品输入缓冲区复制到输出缓冲区没有验证输入缓冲区的大小小于输出缓冲区的大小,导致缓冲区溢出。经典的缓冲区溢出无限的转移
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。不当的验证数组索引- (129)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>129年 (不正确验证数组索引)
产品使用不受信任的输入在计算或使用数组索引,但是产品不验证或不正确验证索引,确保索引引用数组中的一个有效位置。禁止入内的数组索引index-out-of-range数组索引下溢
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用外部控制的格式字符串- (134)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>134年 (使用外部控制的格式字符串)
产品使用一个函数,它接受一个格式字符串作为参数,但格式字符串来自外部源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不返回值- (252)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>252年 (不返回值)
产品不会检查方法或函数返回值,可以防止检测意想不到的状态和条件。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。使用损坏或危险的密码算法- (327)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>327年 (使用损坏或危险的密码算法)
产品使用损坏或危险的密码算法或协议。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。捕捉通用异常宣言- (396)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>396年 (抓住宣言一般例外)
捕捉过于广泛的异常促进复杂的错误处理代码,更有可能包含安全漏洞。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。声明抛出的一般例外- (397)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>397年 (泛型声明抛出异常)
抛出过于广泛的异常促进复杂的错误处理代码,更有可能包含安全漏洞。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无限制上传文件与危险的类型- (434)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>434年 (无限制上传文件与危险的类型)
产品允许攻击者上传或危险的传输文件类型,可以自动处理产品的内环境。不受限制的文件上传
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。失踪的初始化一个变量- (456)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>456年 (没有初始化的变量)
产品不关键变量进行初始化,导致执行环境使用意想不到的价值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。检查循环条件的输入- (606)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>606年 (不输入循环条件)
产品不正确检查输入用于循环条件,可能导致拒绝服务或其他后果,因为过度的循环。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。不适当的锁定- (667)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>667年 (不当锁定)
产品不正确获取或释放资源的锁,导致意想不到的资源状态和行为变化。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。过期或释放后操作资源- (672)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>672年 (操作资源后过期或释放)
产品使用、访问或操作资源之后,资源已经过期,释放,或撤销。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的数值类型之间的转换- (681)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>681年 (不正确的数值类型之间的转换)
当从一个数据类型转换到另一个,比如长整数,数据可以省略或翻译的方式产生意想不到的价值。如果使用生成的值在一个敏感的情况下,就可能发生危险的行为。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪后释放资源的有效寿命- (772)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>772年 (失踪后释放资源有效的一生)
产品不其有效寿命结束后释放资源,即。后,资源不再需要。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。内存分配过多的大小值- (789)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>789年 (内存分配与过度大小值)
基于一个不可信的产品分配内存,大尺寸值,但这并不能保证尺寸在预期范围内,允许任意数量的内存分配。堆栈疲惫
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用硬编码的凭证- (798)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>798年 (使用硬编码的凭证)
产品包含硬编码的凭证,如密码或密钥,这对自己的入站的身份验证,它使用出站通信外部组件,或内部数据的加密。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。循环和遥不可及的退出条件(无限循环)- (835)
1128年 (方案及质量度量(2016))>1131年 (方案及质量措施》(2016)——安全)>835年 (循环不可到达的退出条件(无限循环))
产品包含一个迭代或循环的退出条件不能达到,即。,无限循环。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。方案及质量措施》(2016)——性能效率- (1132)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)
弱点这类方案及相关质量措施性能效率,记录在2016年自动源代码性能效率测量(ASCPEM)规范1.0。存在这些缺点可以减少软件的性能效率。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。单例类的静态成员数据元素以外的元素- (1042)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1042年 (单例类的静态成员数据元素以外的元素)
代码包含一个元素声明为静态成员(但不是最后一个),在它的父类元素不是一个单例类,也就是说,一个类元素,可以只使用一次”协会的创建操作。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。销售数据元素聚合过于大量的元素- (1043)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1043年 (数据元素聚合过度销售大量的元素)
产品使用一个数据元素,有一个特别大的数的子元素与结构或聚合等非基本数据类型对象。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用字符串连接创建不可变的文本- (1046)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1046年 (创建不可变的文本使用字符串连接)
产品使用字符串连接操作创建一个不可变的文本字符串。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过多的数据查询操作在一个大数据表- (1049)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1049年 (过度数据查询操作在一个大数据表)
产品执行数据查询与大量的连接和大数据表子查询。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。一个循环内过度平台资源消耗- (1050)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1050年 (过度平台资源消耗在一个循环)
产品有一个循环体或循环条件,包含一个控制元件,直接或间接地消耗平台资源,例如消息传递、会话、锁,或文件描述符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。预期之外的数据访问操作数据管理器组件- (1057)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1057年 (预期之外的数据访问操作的数据管理器组件)
产品使用一个专用,中央数据管理器组件根据设计需要,但它包含的代码,执行数据访问操作,不要使用这个数据管理器。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过多的低效的服务器端数据访问- (1060)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1060年 (过度数量的低效的服务器端数据访问)
产品执行太多数据查询不使用高效的数据处理功能,如存储过程。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。静态代码块内创建类实例- (1063)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1063年 (创建类实例的静态代码块)
静态代码块创建一个类的实例。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度的执行顺序搜索的数据资源- (1067)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1067年 (过度执行顺序搜索的数据资源)
产品包含一个数据查询SQL表或视图配置的方式不使用索引,可能导致执行顺序搜索。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。数据资源访问,而不使用连接池- (1072)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1072年 (数据资源访问没有使用连接池)
产品通过一个数据库访问数据资源不使用连接池功能。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。非sql调用控制元件过多的数据资源访问- (1073)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1073年 (非sql调用控制元素过多的数据资源访问)
产品包含一个客户端与一个函数或方法,包含大量的数据访问/通过数据管理器发送查询,即。不使用高效的数据库功能。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。大数据表与过度数量的指标- (1089)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1089年 (大数据表与过度数量的指标)
产品使用大数据表,其中包含一个特别大的数的指数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有调用析构函数方法使用的对象- (1091)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1091年 (使用的对象没有调用析构函数方法)
产品包含一个方法访问一个对象但不后调用finalize /析构函数相关的元素的方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度的索引范围扫描数据资源- (1094)
1128年 (方案及质量度量(2016))>1132年 (方案及质量措施》(2016)——性能效率)>1094年 (过度索引范围扫描数据资源)
产品包含一个索引范围扫描数据表,但扫描可以覆盖很大的行数。
+引用
(ref - 968)财团信息与软件质量(方案)。“自动化质量特性的措施”。2016年。<http://it-cisq.org/standards/automated-quality-characteristic-measures/>。
+查看指标
连续波在这个视图 总连续波
弱点 77年 933年
类别 4 352年
的观点 0 47
81年 1332年
+内容的历史
+提交
提交日期 提交者 组织
2018-07-23 CWE内容团队 主教法冠
视图构造使用常见质量枚举(CQE)草案0.9,使用视图9001。
+修改
修改日期 修饰符 组织
2020-02-24 CWE内容团队 主教法冠
更新描述,View_Audience
2020-06-25 CWE内容团队 主教法冠
更新的引用
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日