CWE

常见的弱点枚举

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

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

CWE观点:软件开发

视图ID: 699
类型:
下载:小册子|CSV|XML
+客观的
这一观点组织弱点在经常使用的概念或遇到了在软件开发中。这包括软件开发生命周期的所有方面包括体系结构和实现。因此,这一观点可以使密切与建筑师的角度,开发人员、教育者、和评估供应商。它提供了多种类别,旨在简化导航、浏览和映射。
+观众
利益相关者 描述
软件开发人员 软件开发人员(包括建筑师、设计师、程序员、测试人员)使用这个视图,以更好地理解潜在的错误,可以在特定领域的软件应用程序。使用开发人员都熟悉的概念更易于导航这一观点,和过滤模式的引入可以专注于一个特定阶段的开发生命周期。
教育工作者 教育者用这种观点来教育未来的开发人员的类型的错误往往是在特定的部分代码库。
+的关系
下面的图显示了树状之间的关系在不同级别的抽象上存在的弱点。在最高的层次上,类别和支柱存在弱点。类别(不是技术上的缺点)是特殊CWE条目用于集团弱点,共享一个共同的特点。柱子是描述的弱点在最抽象的时尚。下面这些顶级条目的弱点是不同程度的抽象。类仍然非常抽象,通常独立于任何特定的语言或技术。基础水平的弱点是用来提供一个更具体的类型的弱点。变量是一个弱点,在很低的水平的细节,描述通常局限于一个特定的语言或技术。链是一系列的缺点,必须可以连续产生可利用的漏洞。而复合的缺点是一组必须同时在场,以产生一个可利用的漏洞。
显示详细信息:
699 -软件开发
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。API /功能错误- (1228)
699年 (软件开发)>1228年 (API /函数错误)
这一类的弱点有关内置函数或外部api的使用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。固有的危险函数的使用- (242)
699年 (软件开发)>1228年 (API /函数错误)>242年 (使用固有危险的函数)
产品调用一个函数,它不能保证工作安全。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用的功能不一致的实现- (474)
699年 (软件开发)>1228年 (API /函数错误)>474年 (与不一致的实现使用的函数)
的代码使用一个函数实现跨操作系统和版本不一致。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。未定义的行为的输入API- (475)
699年 (软件开发)>1228年 (API /函数错误)>475年 (未定义行为API)的输入
这个函数的行为是未定义的,除非其控制参数设置为一个特定的值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用过时的功能- (477)
699年 (软件开发)>1228年 (API /函数错误)>477年 (使用过时的函数)
代码使用过时或陈旧的函数,这意味着没有得到积极检查或维护的代码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。潜在的危险函数的使用- (676)
699年 (软件开发)>1228年 (API /函数错误)>676年 (使用有潜在危险的函数)
产品调用一个有潜在危险的函数,可以引入一个漏洞,如果使用不正确,但是函数也可以安全使用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用低级的功能- (695)
699年 (软件开发)>1228年 (API /函数错误)>695年 (使用低级功能)
产品使用低级功能的框架或规范所明确禁止的产品应该操作。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。暴露危险的方法或函数- (749)
699年 (软件开发)>1228年 (API /函数错误)>749年 (暴露危险的方法或函数)
产品提供了一个应用程序编程接口(API)或类似的界面交互与外部演员,但接口包括一个危险的方法或函数,不适当的限制。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。审计/日志记录错误- (1210)
699年 (软件开发)>1210年 (审计/日志错误)
这一类的弱点audit-based组件相关的软件系统。经常这些处理日志记录用户活动为了识别系统不受欢迎的访问和修改。这个类别中的弱点可能导致退化的质量审计能力如果不解决。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的输出中和日志- (117)
699年 (软件开发)>1210年 (审计/日志错误)>117年 (日志输出中和不当)
产品不消除或中和错误输出写入日志。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。截断的安全相关的信息- (222)
699年 (软件开发)>1210年 (审计/日志错误)>222年 (截断的安全相关的信息)
产品截断显示、记录或处理的安全相关信息的方式可以掩盖攻击的源或性质。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。安全相关信息的遗漏- (223)
699年 (软件开发)>1210年 (审计/日志错误)>223年 (漏报的安全相关的信息)
产品没有记录或显示信息是重要的识别攻击的源或性质,或确定一个行动是安全的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。模糊的安全相关的信息替代名称- (224)
699年 (软件开发)>1210年 (审计/日志错误)>224年 (又名模糊的安全相关的信息)
产品记录的安全相关的信息根据受影响的另一个名称的实体,而不是规范的名称。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。敏感信息插入日志文件- (532)
699年 (软件开发)>1210年 (审计/日志错误)>532年 (敏感信息插入日志文件)
信息写入日志文件可以是一个敏感的天性,给攻击者或有价值的指导用户暴露敏感信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。足够的日志- (778)
699年 (软件开发)>1210年 (审计/日志错误)>778年 (日志记录不足)
强调安全事件发生时,产品没有记录的事件或省略了重要细节事件日志的时候。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过多的数据的日志- (779)
699年 (软件开发)>1210年 (审计/日志错误)>779年 (过多的日志数据)
产品日志太多信息,使日志文件很难过程并可能阻碍后恢复工作或法医分析攻击。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。身份验证错误- (1211)
699年 (软件开发)>1211年 (身份验证错误)
这一类的弱点有关认证组件的系统。经常这些处理验证一个实体的能力确实是那自称是谁。如果不解决在设计或实施一个软件系统,这些弱点可能导致退化的质量认证功能。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。认证绕过使用另一种路径或通道- (288)
699年 (软件开发)>1211年 (身份验证错误)>288年 (认证绕过使用备用路径或通道)
一个产品需要认证,但产品备用路径或通道,不需要身份验证。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。认证绕过被欺骗- (290)
699年 (软件开发)>1211年 (身份验证错误)>290年 (认证绕过欺骗)
这attack-focused的缺点是由于错误地实现身份验证方案,受到欺骗攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。认证绕过被捕获——重放- (294)
699年 (软件开发)>1211年 (身份验证错误)>294年 (认证绕过捕获——重放)
捕获——重放缺陷存在时,产品的设计使恶意用户嗅探网络流量,绕过身份验证通过重放服务器的问题同样的效果与原始消息(或微小的改动)。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不适当的证书验证- (295)
699年 (软件开发)>1211年 (身份验证错误)>295年 (不正确的证书验证)
产品不验证,或不正确的验证,一个证书。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的证书链的信任- (296)
699年 (软件开发)>1211年 (身份验证错误)>296年 (不当的证书的信任链)
产品不遵守或者不正确,信任的证书链回受信任的根证书,导致错误的信任与证书相关联的任何资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。检查证书撤销不当- (299)
699年 (软件开发)>1211年 (身份验证错误)>299年 (检查证书撤销不当)
产品不检查或不正确检查证书的撤销状态,这可能会导致使用证书身份被识破了。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的身份验证算法的实现- (303)
699年 (软件开发)>1211年 (身份验证错误)>303年 (不正确的身份验证算法的实现)
产品规定的要求使用一个确定身份验证算法,但算法的实现是不正确的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的关键一步验证- (304)
699年 (软件开发)>1211年 (身份验证错误)>304年 (缺少关键的步骤,身份验证)
产品实现身份验证技术,但它跳过步骤,削弱了技术。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。认证绕过的主要弱点- (305)
699年 (软件开发)>1211年 (身份验证错误)>305年 (认证绕过主要弱点)
身份验证算法是合理的,但实现的机制可以作为一个单独的结果绕过弱点主要的验证错误。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的身份验证的重要功能- (306)
699年 (软件开发)>1211年 (身份验证错误)>306年 (重要功能缺失的认证)
产品不执行任何身份验证功能,需要一个可证明的用户标识或消耗了大量的资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制过度的身份验证- (307)
699年 (软件开发)>1211年 (身份验证错误)>307年 (不当限制过度认证尝试)
产品没有实现足够的措施来防止多个身份验证尝试失败在短时间内,使它更容易受到暴力攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用单因素身份验证- (308)
699年 (软件开发)>1211年 (身份验证错误)>308年 (使用单因素身份验证)
使用单因素身份验证可以导致不必要的妥协的风险相比,一个指定的身份验证方案的好处。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用基本身份验证密码系统- (309)
699年 (软件开发)>1211年 (身份验证错误)>309年 (主要使用的密码系统身份验证)
使用的密码系统,身份验证的主要方式可能会受到一些缺陷或不足,每减少机制的有效性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有实体认证密钥交换- (322)
699年 (软件开发)>1211年 (身份验证错误)>322年 (密钥交换没有实体验证)
产品执行密钥交换有一个演员没有验证,演员的身份。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用客户端身份验证- (603)
699年 (软件开发)>1211年 (身份验证错误)>603年 (使用客户端身份验证)
客户机/服务器产品在客户端代码执行身份验证,而不是在服务器代码,允许服务器端身份验证通过修改客户端,省略了绕过身份验证检查。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过分严格的帐户锁定机制- (645)
699年 (软件开发)>1211年 (身份验证错误)>645年 (过分严格的帐户锁定机制)
产品包含一个帐户锁定保护机制,但这种机制过于严格,可以很容易触发,它允许攻击者拒绝服务合法用户,导致他们的账户被锁定了。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可推测的验证码- (804)
699年 (软件开发)>1211年 (身份验证错误)>804年 (可推测的验证码)
产品使用验证码的挑战,但挑战可以猜测或自动被非人的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用密码散列,而不是密码进行身份验证- (836)
699年 (软件开发)>1211年 (身份验证错误)>836年 (使用的密码散列而不是密码身份验证)
产品记录密码散列在一个数据存储,从客户端接收的散列密码,并比较所提供的哈希散列得到的数据存储。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。授权错误- (1212)
699年 (软件开发)>1212年 (授权错误)
这一类的弱点与授权系统的组件。经常这些处理的能力执行代理所需的权限之前执行某些操作,如修改数据。如果不解决设计或实现软件系统时,这些缺陷可能会导致授权的质量能力的退化。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。直接请求(“强迫浏览”)- (425)
699年 (软件开发)>1212年 (授权错误)>425年 (直接请求(“强迫浏览”))
web应用程序不充分执行适当的授权限制的url,脚本,或文件。强迫浏览
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的行为秩序:授权之前解析和规范化- (551)
699年 (软件开发)>1212年 (授权错误)>551年 (不正确的行为秩序:授权之前解析和规范化)
如果web服务器不完全解析请求的url之前,检查授权,可以对攻击者绕过授权保护。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。索引包含敏感信息的不适当的授权- (612)
699年 (软件开发)>1212年 (授权错误)>612年 (索引包含敏感信息的不适当的授权)
私人或敏感的产品创建搜索索引文件,但它不适当限制索引访问演员有权看到原始信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。授权旁路通过用户控制的关键- (639)
699年 (软件开发)>1212年 (授权错误)>639年 (授权旁路通过用户控制键)
系统的授权功能不防止一个用户获得另一个用户的数据或记录通过修改键值标识数据。不安全的直接对象引用/ IDOR破碎的对象级别授权/流星锤水平的授权
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不适当的授权方案在处理程序定义URL- (939)
699年 (软件开发)>1212年 (授权错误)>939年 (授权不当处理程序自定义URL方案)
产品使用处理程序为一个自定义的URL方案,但它不适当限制演员可以调用处理程序的使用方案。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。用户到不正确的组的位置- (842)
699年 (软件开发)>1212年 (授权错误)>842年 (用户到不正确的组的位置)
产品或管理员用户进入一个不正确的组。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。足够的粒度的访问控制- (1220)
699年 (软件开发)>1212年 (授权错误)>1220年 (粒度的访问控制不足)
产品实现访问控制通过政策或其他特征与有意禁用或限制访问(读和/或写)资产在系统不可信的代理。然而,实现访问控制缺乏所需的粒度,使得控制策略过于广泛,因为它允许从未经授权的代理访问安全敏感的资产。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。糟糕的编码实践- (1006)
699年 (软件开发)>1006年 (糟糕的编码实践)
弱点这类相关的编码实践被认为不安全,增加可利用的漏洞的机会将会出现在应用程序。这些弱点并不直接引入一个弱点,但表明,产品没有精心开发或维护。如果一个程序很复杂,难于维护,不方便携带,或显示忽视的证据,然后有一个弱点是埋在代码的可能性更高。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的默认情况下在多个条件表达式- (478)
699年 (软件开发)>1006年 (糟糕的编码实践)>478年 (缺少默认情况下在多个条件表达式)
代码表达式中没有一个默认情况下使用多个条件,比如一个switch语句。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。依赖包级别范围- (487)
699年 (软件开发)>1006年 (糟糕的编码实践)>487年 (依赖包访问的范围)
Java包本身是不封闭;因此,依靠他们对代码安全并不是一个好的做法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。积极的调试代码- (489)
699年 (软件开发)>1006年 (糟糕的编码实践)>489年 (积极的调试代码)
产品部署与调试代码仍然启用或未经授权的演员活跃,可以创造出意想不到的入口点或暴露敏感信息。剩下的调试代码
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。可疑的评论- (546)
699年 (软件开发)>1006年 (糟糕的编码实践)>546年 (可疑的评论)
代码包含评论显示缺陷的存在,不完整的功能,或弱点。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。使用硬编码、安全相关的常数- (547)
699年 (软件开发)>1006年 (糟糕的编码实践)>547年 (使用硬编码的安全相关的常数)
产品使用硬编码的常量代替符号名称强调安全的值,这就增加了错误在代码维护或安全政策变化的可能性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。死代码- (561)
699年 (软件开发)>1006年 (糟糕的编码实践)>561年 (死代码)
产品包含死代码,无法执行。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。返回堆栈变量的地址- (562)
699年 (软件开发)>1006年 (糟糕的编码实践)>562年 (返回堆栈变量的地址)
一个函数返回一个堆栈变量的地址,这将导致意想不到的程序行为,通常的形式崩溃。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。赋值变量而不使用- (563)
699年 (软件开发)>1006年 (糟糕的编码实践)>563年 (任务变量没有使用)
变量的值被分配,但不会使用,使它一个死去的商店。未使用的变量
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。违反对象模型:定义Equals和Hashcode之一- (581)
699年 (软件开发)>1006年 (糟糕的编码实践)>581年 (违反对象模型:Equals和Hashcode定义)
产品不维护平等hashcode平等对象。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。显式的调用Finalize ()- (586)
699年 (软件开发)>1006年 (糟糕的编码实践)>586年 (显式的调用Finalize ())
产品是一个显式的调用finalize()方法从外面终结器。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。多个绑定到相同的端口- (605)
699年 (软件开发)>1006年 (糟糕的编码实践)>605年 (多个绑定到相同的端口)
当多个套接字可以绑定到相同的端口,其他服务端口可能被盗或欺骗。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。变量提取错误- (621)
699年 (软件开发)>1006年 (糟糕的编码实践)>621年 (变量提取错误)
产品使用外部输入来确定变量的名称,信息提取,没有验证指定的变量的名字是有效的。这可能导致程序覆盖意想不到的变量。变量覆盖
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。动态变量评价- (627)
699年 (软件开发)>1006年 (糟糕的编码实践)>627年 (动态变量评价)
的语言,用户可以在运行时影响变量的名称,如果变量名不控制,攻击者可以读或写任意变量,或访问任意的函数。动态评价
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。函数调用与指定参数不正确- (628)
699年 (软件开发)>1006年 (糟糕的编码实践)>628年 (函数调用错误指定参数)
产品调用一个函数,程序,或常规参数不正确地指定,导致always-incorrect行为和合成的弱点。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。与重复使用多个资源标识符- (694)
699年 (软件开发)>1006年 (糟糕的编码实践)>694年 (与重复使用多个资源标识符)
产品使用多个资源,可以有相同的标识符,需要在一个上下文惟一标识符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用冗余代码- (1041)
699年 (软件开发)>1006年 (糟糕的编码实践)>1041年 (使用的冗余代码)
该产品具有多种功能、方法、程序、宏等等,包含相同的代码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。销售数据元素聚合过于大量的元素- (1043)
699年 (软件开发)>1006年 (糟糕的编码实践)>1043年 (数据元素聚合过度销售大量的元素)
产品使用一个数据元素,有一个特别大的数的子元素与结构或聚合等非基本数据类型对象。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。体系结构与预期范围以外的水平层的数量- (1044)
699年 (软件开发)>1006年 (糟糕的编码实践)>1044年 (建筑与预期范围以外的水平层的数量)
产品的架构包含太多或太少,水平层。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。与虚拟析构函数和子类父类没有虚析构函数- (1045)
699年 (软件开发)>1006年 (糟糕的编码实践)>1045年 (父类没有虚拟的虚拟析构函数和子类析构函数)
父类有一个虚析构函数方法,但父母有一个孩子没有虚拟析构函数的类。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用字符串连接创建不可变的文本- (1046)
699年 (软件开发)>1006年 (糟糕的编码实践)>1046年 (创建不可变的文本使用字符串连接)
产品使用字符串连接操作创建一个不可变的文本字符串。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件的大量外部调用- (1048)
699年 (软件开发)>1006年 (糟糕的编码实践)>1048年 (调用控制元素的大量外部调用)
代码包含调用控制元素包含一个特别大的数对其他应用程序对象的引用外部调用的上下文,即过度大扇出价值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过多的数据查询操作在一个大数据表- (1049)
699年 (软件开发)>1006年 (糟糕的编码实践)>1049年 (过度数据查询操作在一个大数据表)
产品执行数据查询与大量的连接和大数据表子查询。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。一个循环内过度平台资源消耗- (1050)
699年 (软件开发)>1006年 (糟糕的编码实践)>1050年 (过度平台资源消耗在一个循环)
产品有一个循环体或循环条件,包含一个控制元件,直接或间接地消耗平台资源,例如消息传递、会话、锁,或文件描述符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。静态代码块内创建类实例- (1063)
699年 (软件开发)>1006年 (糟糕的编码实践)>1063年 (创建类实例的静态代码块)
静态代码块创建一个类的实例。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。运行时资源管理控制元件在一个组件应用服务器上运行- (1065)
699年 (软件开发)>1006年 (糟糕的编码实践)>1065年 (运行时资源管理控制元件组件构建应用程序服务器上运行)
从应用服务器产品使用部署组件,但是它还使用低级函数/方法管理的资源,而不是应用服务器提供的API。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的序列化控制元件- (1066)
699年 (软件开发)>1006年 (糟糕的编码实践)>1066年 (缺少序列化控制元件)
产品包含一个可序列化的数据元素,没有一个相关的序列化方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度的执行顺序搜索的数据资源- (1067)
699年 (软件开发)>1006年 (糟糕的编码实践)>1067年 (过度执行顺序搜索的数据资源)
产品包含一个数据查询SQL表或视图配置的方式不使用索引,可能导致执行顺序搜索。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可序列化的数据元素包含non-Serializable项元素- (1070)
699年 (软件开发)>1006年 (糟糕的编码实践)>1070年 (可序列化的数据元素包含non-Serializable项元素)
产品包含一个可序列化的,可储存的数据元素,如字段或成员,但是数据元素包含成员元素没有可序列化的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。空的代码块- (1071)
699年 (软件开发)>1006年 (糟糕的编码实践)>1071年 (空代码块)
源代码包含一个块,不包含任何代码,即。块是空的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。数据资源访问,而不使用连接池- (1072)
699年 (软件开发)>1006年 (糟糕的编码实践)>1072年 (数据资源访问没有使用连接池)
产品通过一个数据库访问数据资源不使用连接池功能。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。非sql调用控制元件过多的数据资源访问- (1073)
699年 (软件开发)>1006年 (糟糕的编码实践)>1073年 (非sql调用控制元素过多的数据资源访问)
产品包含一个客户端与一个函数或方法,包含大量的数据访问/通过数据管理器发送查询,即。不使用高效的数据库功能。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。父类没有虚析构函数的方法- (1079)
699年 (软件开发)>1006年 (糟糕的编码实践)>1079年 (父类没有虚析构函数方法)
一个父类包含一个或多个子类,但父类没有虚析构函数的方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。自我破坏控制元件类实例- (1082)
699年 (软件开发)>1006年 (糟糕的编码实践)>1082年 (类实例的自我破坏控制元件)
代码包含一个类实例,调用方法或函数删除或销毁。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与过度的文件或数据访问操作- (1084)
699年 (软件开发)>1006年 (糟糕的编码实践)>1084年 (调用控制元素过多的文件或数据访问操作)
一个函数或方法包含太多的操作,利用数据管理器或文件资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与过度的注释掉的代码- (1085)
699年 (软件开发)>1006年 (糟糕的编码实践)>1085年 (调用控制元素的过量体积注释掉代码)
函数、方法、过程等含有过量的代码被注释掉了它的身体内。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有一个虚拟析构函数类和虚拟方法- (1087)
699年 (软件开发)>1006年 (糟糕的编码实践)>1087年 (类和虚拟方法没有一个虚拟析构函数)
一个类包含一个虚方法,但该方法没有一个相关的虚拟析构函数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。大数据表与过度数量的指标- (1089)
699年 (软件开发)>1006年 (糟糕的编码实践)>1089年 (大数据表与过度数量的指标)
产品使用大数据表,其中包含一个特别大的数的指数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有调用析构函数方法使用的对象- (1091)
699年 (软件开发)>1006年 (糟糕的编码实践)>1091年 (使用的对象没有调用析构函数方法)
产品包含一个方法访问一个对象但不后调用finalize /析构函数相关的元素的方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用相同的调用在多个架构层控制元件- (1092)
699年 (软件开发)>1006年 (糟糕的编码实践)>1092年 (使用相同的调用控制元素在多个架构层)
产品使用相同的跨多个架构层控制元件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度的索引范围扫描数据资源- (1094)
699年 (软件开发)>1006年 (糟糕的编码实践)>1094年 (过度索引范围扫描数据资源)
产品包含一个索引范围扫描数据表,但扫描可以覆盖很大的行数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。持久存储数据元素没有关联比较控制元件- (1097)
699年 (软件开发)>1006年 (糟糕的编码实践)>1097年 (持久存储数据元素没有关联比较控制元件)
产品使用一个存储数据元素没有所有必要的相关函数或方法来支持比较。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。数据元素包含指针项目没有适当的复制控制元件- (1098)
699年 (软件开发)>1006年 (糟糕的编码实践)>1098年 (数据元素包含指针项目没有适当的复制控制元件)
代码包含一个数据元素的指针,没有一个相关的复制或构造函数的方法。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。标识符的命名约定不一致- (1099)
699年 (软件开发)>1006年 (糟糕的编码实践)>1099年 (标识符命名约定不一致)
产品的代码,文档,或其他工件不一直使用相同的命名惯例为变量,调用,组织相关的调用,I / O功能,数据类型,文件名,或相似类型的元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在生成的代码运行时组件的依赖- (1101)
699年 (软件开发)>1006年 (糟糕的编码实践)>1101年 (在生成的代码依赖于运行时组件)
无法执行的产品使用自动生成的代码没有一个特定的运行时支持组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。依赖计算机有关数据表示- (1102)
699年 (软件开发)>1006年 (糟糕的编码实践)>1102年 机器特有的数据表示(依赖)
代码使用一个数据表示,依赖于底层数据表示或结构可能不同在不同的处理器,物理机器,操作系统或其他物理组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。平台相关的第三方组件的使用- (1103)
699年 (软件开发)>1006年 (糟糕的编码实践)>1103年 (使用与平台相关的第三方组件)
产品依靠第三方组件,不提供相同的功能在所有理想的平台。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有维护的第三方组件的使用- (1104)
699年 (软件开发)>1006年 (糟糕的编码实践)>1104年 (未维护的第三方组件的使用)
产品依赖于第三方组件不积极支持或维护由原开发人员或一个可信的代理最初的开发人员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用符号常量的不足- (1106)
699年 (软件开发)>1006年 (糟糕的编码实践)>1106年 (不足使用符号常量)
源代码使用字面常量可能需要改变或随时间而变化,而不是使用符号常量。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。隔离不足的符号常量的定义- (1107)
699年 (软件开发)>1006年 (糟糕的编码实践)>1107年 (不足隔离的符号常量的定义)
使用符号常量的源代码,但它没有足够的地方这些常量的定义成一个更集中的或孤立的位置。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度依赖全局变量- (1108)
699年 (软件开发)>1006年 (糟糕的编码实践)>1108年 (过度依赖全局变量)
代码结构化的方式过度依赖于使用或在代码中设置全局变量在不同的点,而不是保留相关信息窄,更多的本地上下文。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用相同的变量有多种用途- (1109)
699年 (软件开发)>1006年 (糟糕的编码实践)>1109年 (使用相同的变量的多个目的)
包含一个可调用的代码,代码块或其他元素的相同的变量是用来控制多个独特的任务或存储数据的多个实例。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不恰当的评论风格- (1113)
699年 (软件开发)>1006年 (糟糕的编码实践)>1113年 (不恰当的评论风格)
源代码使用注释样式或格式不一致或不遵循预期标准的产品。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不适当的空格风格- (1114)
699年 (软件开发)>1006年 (糟糕的编码实践)>1114年 (不适当的空格风格)
源代码包含空格,预计在代码不一致或不遵循标准的产品。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。源代码元素没有标准的开场白- (1115)
699年 (软件开发)>1006年 (糟糕的编码实践)>1115年 (源代码元素没有标准的开场白)
源代码包含源文件不一致等元素提供一个序言或头已经标准化的项目。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不准确的评论- (1116)
699年 (软件开发)>1006年 (糟糕的编码实践)>1116年 (不准确的注释)
源代码包含注释,不能准确地描述或解释方面的部分代码相关的评论。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可调用的行为总结不足- (1117)
699年 (软件开发)>1006年 (糟糕的编码实践)>1117年 (可调用的行为总结不足)
代码包含一个函数或方法的签名和/或相关的内联文档不充分描述可调用的输入,输出,副作用,假设,或返回代码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。声明的变量与不必要的宽范围- (1126)
699年 (软件开发)>1006年 (糟糕的编码实践)>1126年 (声明的变量与不必要的宽范围)
源代码声明一个变量在一个范围,但变量只是一个狭窄的范围内使用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。编译警告或错误不足- (1127)
699年 (软件开发)>1006年 (糟糕的编码实践)>1127年 (编译警告或错误不足)
代码被编译使没有足够的警告,这可能阻止细微的缺陷或质量问题的检测。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。对性能关键的操作不正确使用自动装箱和拆箱- (1235)
699年 (软件开发)>1006年 (糟糕的编码实践)>1235年 (不正确的使用对性能关键的操作自动装箱和拆箱)
代码使用盒装原语,这可能引入低效率性能关键型操作。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。行为问题- (438)
699年 (软件开发)>438年 (行为问题)
这一类的弱点与意想不到的行为从一个应用程序使用的代码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。误解的输入- (115)
699年 (软件开发)>438年 (行为问题)>115年 (输入的误解)
产品错误地输入,是否从攻击者或其他产品,安全相关的方式。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的行为秩序:早期验证- (179)
699年 (软件开发)>438年 (行为问题)>179年 (不正确的行为秩序:早期验证)
产品验证输入之前应用修改输入的保护机制,这可能允许攻击者绕过验证通过危险的输入,只有修改后出现。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的行为秩序:早期的放大- (408)
699年 (软件开发)>438年 (行为问题)>408年 (不正确的行为秩序:早期放大)
产品允许一个实体执行合法但昂贵的操作之前,身份验证或授权。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完整的端点特性模型- (437)
699年 (软件开发)>438年 (行为问题)>437年 (不完整模型的端点特性)
产品作为媒介或监控两个或多个端点之间,但它并没有一个完整的模型一个端点的特性,行为,或状态,可能导致产品执行不正确的操作基于这个不完整的模型。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在新版本或环境中行为变化- (439)
699年 (软件开发)>438年 (行为问题)>439年 (新版本或环境行为改变)
的行为或功能变化的一个新版本,或一个新的环境,不知道(或管理)的B。功能变化
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。预期行为违反- (440)
699年 (软件开发)>438年 (行为问题)>440年 (预期行为违反)
一个特性、API或函数不执行根据其规范。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不一致的解释HTTP请求(HTTP请求/响应走私的)- (444)
699年 (软件开发)>438年 (行为问题)>444年 (不一致的解释HTTP请求(HTTP请求/响应走私))
产品作为媒介的HTTP代理(如代理或防火墙)等两个实体之间的数据流的客户机和服务器,但它不解释畸形的HTTP请求和响应的方式符合这些实体将如何处理消息的最终目的地。HTTP请求走私HTTP响应走私HTTP走私
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用不正确的操作符- (480)
699年 (软件开发)>438年 (行为问题)>480年 (使用不正确的操作符)
产品不小心使用了错误的操作符,它改变了逻辑在安全相关的方面。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的块划定- (483)
699年 (软件开发)>438年 (行为问题)>483年 (不正确的块界定)
代码没有明确划定一块,目的是包含2个或更多的语句,创建一个逻辑错误。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。省略Break语句在开关- (484)
699年 (软件开发)>438年 (行为问题)>484年 (省略Break语句在开关)
产品中省略了一个break语句一个开关或类似的构造,导致与之相关的代码执行多个条件。这会产生问题时,程序员只为了执行代码与一个条件有关。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的行为秩序:授权之前解析和规范化- (551)
699年 (软件开发)>438年 (行为问题)>551年 (不正确的行为秩序:授权之前解析和规范化)
如果web服务器不完全解析请求的url之前,检查授权,可以对攻击者绕过授权保护。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。后执行重定向(EAR)- (698)
699年 (软件开发)>438年 (行为问题)>698年 (重定向(EAR)后执行)
web应用程序发送一个重定向到另一个地点,而是退出,它执行额外的代码。重定向不退出
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。强调安全代码的编译器优化删除或修改- (733)
699年 (软件开发)>438年 (行为问题)>733年 (编译器优化删除或修改重要的安全代码)
重要开发人员构建一个安全保护机制的软件,但编译器优化程序的机制被删除或修改。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。运算符优先级逻辑错误- (783)
699年 (软件开发)>438年 (行为问题)>783年 (运算符优先级逻辑错误)
产品使用一个表达式的运算符优先级导致使用错误的逻辑。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。循环和遥不可及的退出条件(无限循环)- (835)
699年 (软件开发)>438年 (行为问题)>835年 (循环不可到达的退出条件(无限循环))
产品包含一个迭代或循环的退出条件不能达到,即。,无限循环。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的执行一个独特的行动- (837)
699年 (软件开发)>438年 (行为问题)>837年 (不当的执行一个独特的动作)
产品要求演员应该只能执行一个动作一次,或只有一个独特的行动,但产品不执行或执行不当这个限制。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当行为的执行工作流- (841)
699年 (软件开发)>438年 (行为问题)>841年 (不当行为工作流的执行)
不止一个的产品支持会话行为必须由一个演员表演,但这并不正确确保演员执行所需的行为序列。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。比较使用错误的因素- (1025)
699年 (软件开发)>438年 (行为问题)>1025年 (比较使用错误的因素)
代码执行两个实体之间的比较,但是比较检查错误的因素或特征的实体,这可能导致错误的结果和合成的弱点。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理器优化删除或修改重要的安全代码- (1037)
699年 (软件开发)>438年 (行为问题)>1037年 (处理器优化删除或修改重要的安全代码)
开发人员构建一个强调安全保护机制的软件,但是处理器优化程序的执行这样的机制被删除或修改。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。业务逻辑错误- (840)
699年 (软件开发)>840年 (业务逻辑错误)
这一类的弱点识别一些潜在的问题,通常允许攻击者控制应用程序的业务逻辑。错误在整个应用程序业务逻辑可能是毁灭性的。他们可以自动很难找到,因为他们通常涉及合法使用的应用程序的功能。然而,许多业务逻辑错误可以展览模式,类似于易于理解的实现和设计的弱点。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。未经证实的所有权- (283)
699年 (软件开发)>840年 (业务逻辑错误)>283年 (未经证实的所有权)
产品不正确验证关键资源是由适当的实体。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。认证绕过使用另一种路径或通道- (288)
699年 (软件开发)>840年 (业务逻辑错误)>288年 (认证绕过使用备用路径或通道)
一个产品需要认证,但产品备用路径或通道,不需要身份验证。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。授权旁路通过用户控制的关键- (639)
699年 (软件开发)>840年 (业务逻辑错误)>639年 (授权旁路通过用户控制键)
系统的授权功能不防止一个用户获得另一个用户的数据或记录通过修改键值标识数据。不安全的直接对象引用/ IDOR破碎的对象级别授权/流星锤水平的授权
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。弱密码恢复机制忘记密码- (640)
699年 (软件开发)>840年 (业务逻辑错误)>640年 (弱密码恢复机制被遗忘的密码)
产品包含一个机制为用户恢复或更改密码不知道原始密码,但机制薄弱。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的所有权转让- (708)
699年 (软件开发)>840年 (业务逻辑错误)>708年 (不正确的所有权分配)
产品分配资源的所有者,但拥有者是为了控制范围之外的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。资源配置没有限制或节流- (770)
699年 (软件开发)>840年 (业务逻辑错误)>770年 (资源配置没有限制或节流)
产品分配一个可重用的资源或一组资源代表一个演员不强加任何限制的大小或数量的可分配的资源,违反安全策略的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。预期寿命期间过早释放资源- (826)
699年 (软件开发)>840年 (业务逻辑错误)>826年 (预期寿命期间过早释放资源)
产品发布资源,还打算使用自己或另一个演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的执行一个独特的行动- (837)
699年 (软件开发)>840年 (业务逻辑错误)>837年 (不当的执行一个独特的动作)
产品要求演员应该只能执行一个动作一次,或只有一个独特的行动,但产品不执行或执行不当这个限制。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当行为的执行工作流- (841)
699年 (软件开发)>840年 (业务逻辑错误)>841年 (不当行为工作流的执行)
不止一个的产品支持会话行为必须由一个演员表演,但这并不正确确保演员执行所需的行为序列。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。通信信道的错误- (417)
699年 (软件开发)>417年 (通信通道错误)
这一类的弱点有关处理不当的沟通渠道和访问路径。这些缺点包括问题创建、管理或删除备用通道和备用路径。有些可以虚拟文件重叠问题,常用在“旁路”攻击,比如那些利用身份验证错误。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有实体认证密钥交换- (322)
699年 (软件开发)>417年 (通信通道错误)>322年 (密钥交换没有实体验证)
产品执行密钥交换有一个演员没有验证,演员的身份。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。起源验证错误- (346)
699年 (软件开发)>417年 (通信通道错误)>346年 (起源验证错误)
产品不正确验证数据的来源或沟通是有效的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。秘密时间通道- (385)
699年 (软件开发)>417年 (通信通道错误)>385年 (隐蔽时间信道)
隐蔽时间信道传递信息的调制系统的某些方面的行为随着时间的推移,这程序接收信息可以观察到系统行为和推断信息保护。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不受保护的主要通道- (419)
699年 (软件开发)>417年 (通信通道错误)>419年 (无保护主频道)
产品使用的主要渠道管理或限制功能,但它不妥善保护通道。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不受保护的备用通道- (420)
699年 (软件开发)>417年 (通信通道错误)>420年 (未受保护的备用通道)
产品保护的主要渠道,但它不使用相同级别的保护另一个频道。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。直接请求(“强迫浏览”)- (425)
699年 (软件开发)>417年 (通信通道错误)>425年 (直接请求(“强迫浏览”))
web应用程序不充分执行适当的授权限制的url,脚本,或文件。强迫浏览
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。隐蔽存储通道- (515)
699年 (软件开发)>417年 (通信通道错误)>515年 (隐蔽存储通道)
隐蔽存储通道传输信息通过一个程序的设置位和阅读的部分。区分这种情况下的普通操作,编码的比特是用来传达信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的执行消息完整性在通信信道中传输- (924)
699年 (软件开发)>417年 (通信通道错误)>924年 (不当执行消息在传输过程中完整性通信通道)
产品与端点建立通信通道和接收一条消息的端点,但这并不足够确保消息不会在传输过程中被修改。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的验证源通信通道- (940)
699年 (软件开发)>417年 (通信通道错误)>940年 (不正确验证源通信通道)
产品建立一个通信通道来处理传入请求,由一个演员,但它不正确验证请求来自预期的起源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在通信信道错误指定目的地- (941)
699年 (软件开发)>417年 (通信通道错误)>941年 在通信信道(错误指定目的地)
产品创建一个通信通道启动一个外向请求一个演员,但这并不正确地指定目的地,演员。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。复杂问题- (1226)
699年 (软件开发)>1226年 (复杂性问题)
这一类的弱点与事情过于复杂。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。销售数据元素聚合过于大量的元素- (1043)
699年 (软件开发)>1226年 (复杂性问题)>1043年 (数据元素聚合过度销售大量的元素)
产品使用一个数据元素,有一个特别大的数的子元素与结构或聚合等非基本数据类型对象。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。模块与循环依赖- (1047)
699年 (软件开发)>1226年 (复杂性问题)>1047年 (与循环依赖模块)
产品包含的模块,一个模块的引用,循环回本身,即。,有循环依赖。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。从具体类多重继承- (1055)
699年 (软件开发)>1226年 (复杂性问题)>1055年 (具体类的多重继承)
产品包含一个类继承多个具体类。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与可变参数- (1056)
699年 (软件开发)>1226年 (复杂性问题)>1056年 (使用可变参数调用控制元件)
named-callable或方法控制元素有一个签名,支持一个变量(可变)的参数或参数数量。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过多的低效的服务器端数据访问- (1060)
699年 (软件开发)>1226年 (复杂性问题)>1060年 (过度数量的低效的服务器端数据访问)
产品执行太多数据查询不使用高效的数据处理功能,如存储过程。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件与签名包含过多的参数- (1064)
699年 (软件开发)>1226年 (复杂性问题)>1064年 (调用控制元素签名包含过多的参数)
产品包含一个函数、子程序或方法的签名有一个不必要的大量参数/参数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。类过深的继承- (1074)
699年 (软件开发)>1226年 (复杂性问题)>1074年 (与过深的继承类)
一个类继承的水平太高了,也就是说。,它有一个大量的父类。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无条件的控制流开关组外的转移- (1075)
699年 (软件开发)>1226年 (复杂性问题)>1075年 (无条件的控制流传输开关组外)
产品执行无条件的控制转移(如“goto”)在代码之外的一个分支结构如开关部件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。源代码文件,过度的代码的行数- (1080)
699年 (软件开发)>1226年 (复杂性问题)>1080年 (源代码文件与过度的代码行数)
一个源代码文件的代码行数太多了。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。类子类的过多- (1086)
699年 (软件开发)>1226年 (复杂性问题)>1086年 (类过度数量的孩子类)
一个类包含一个不必要的大量的儿童。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。内循环条件值更新循环- (1095)
699年 (软件开发)>1226年 (复杂性问题)>1095年 (循环条件值更新内循环)
产品使用一个循环与基于控制流条件的值更新的体内循环。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度使用无条件分支- (1119)
699年 (软件开发)>1226年 (复杂性问题)>1119年 (过度使用无条件分支)
代码使用太多的无条件分支(如“goto”)。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度McCabe圈复杂度- (1121)
699年 (软件开发)>1226年 (复杂性问题)>1121年 (过度McCabe圈复杂度)
代码包含超过一个理想的最大McCabe圈复杂度。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度Halstead复杂性- (1122)
699年 (软件开发)>1226年 (复杂性问题)>1122年 (过度Halstead复杂性)
代码结构,霍氏复杂性测量超过一个理想的最大。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。变为无效来过度使用的代码- (1123)
699年 (软件开发)>1226年 (复杂性问题)>1123年 (变为无效来过度使用代码)
产品使用变为无效来太多的代码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过深的嵌套- (1124)
699年 (软件开发)>1226年 (复杂性问题)>1124年 (过多的嵌套太深)
代码包含一个可调用或其他代码嵌套的分组/分支太深。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度攻击表面- (1125)
699年 (软件开发)>1226年 (复杂性问题)>1125年 (过度攻击表面)
产品表面的定量测定的攻击超过一个理想的最大值。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。并发问题- (557)
699年 (软件开发)>557年 (并发问题)
这一类的弱点与并发共享资源的使用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。竞态条件使链接后- (363)
699年 (软件开发)>557年 (并发问题)>363年 (竞争条件使链接后)
产品检查前一个文件或目录访问的状态,产生竞态条件的文件可以被替换为一个链接进行访问之前,导致产品访问错误的文件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。信号处理器竞态条件- (364)
699年 (软件开发)>557年 (并发问题)>364年 (信号处理程序竞争条件)
产品使用一个信号处理程序,引入了竞争条件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在一个线程竞争条件- (366)
699年 (软件开发)>557年 (并发问题)>366年 (竞争条件在一个线程)
如果两个线程同时执行的使用资源,存在资源可以使用而无效的可能性,进而使执行未定义的状态。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。Time-of-check分时(TOCTOU)竞态条件- (367)
699年 (软件开发)>557年 (并发问题)>367年 (Time-of-check时段(TOCTOU)竞争条件)
产品检查资源的状态在使用资源之前,但资源的状态可以改变之间的检查和使用的方式无效的结果检查。这可能会导致产品资源时执行无效的操作在一个意想不到的状态。TOCTTOUTOCCTOU
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。上下文切换竞态条件- (368)
699年 (软件开发)>557年 (并发问题)>368年 (上下文切换竞争条件)
产品执行的一系列非原子操作切换上下文交叉特权或其他安全边界,但竞争条件允许攻击者修改或歪曲在开关产品的行为。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。符号名称映射到正确的对象- (386)
699年 (软件开发)>557年 (并发问题)>386年 (符号名称映射到正确的对象)
一个常数使用符号引用一个对象,虽然能解决到另一个对象的引用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在访问备用通道竞态条件- (421)
699年 (软件开发)>557年 (并发问题)>421年 (备用通道访问期间竞争条件)
产品打开另一个通道与授权用户通信,但通道访问其他演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。同步多线程访问共享数据上下文- (567)
699年 (软件开发)>557年 (并发问题)>567年 (同步多线程访问共享数据上下文)
产品不正确同步共享数据,如跨线程的静态变量,从而导致未定义行为和不可预知的数据变化。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。空的同步块- (585)
699年 (软件开发)>557年 (并发问题)>585年 (空同步块)
产品包含一个空的同步块。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在并发环境中使用不可重入函数- (663)
699年 (软件开发)>557年 (并发问题)>663年 (使用不可重入函数在并发环境中)
产品调用一个不可重入函数在并发环境中竞争的代码序列(如线程或信号处理器)可能有机会调用相同的函数或影响其状态。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的同步- (820)
699年 (软件开发)>557年 (并发问题)>820年 (缺少同步)
产品利用共享资源以并行的方式,但不尝试同步访问资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的同步- (821)
699年 (软件开发)>557年 (并发问题)>821年 (不正确的同步)
产品利用共享资源以并行的方式,但这并不正确同步访问资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。调用控制元件在多线程环境中使用最后静态存储或成员元素- (1058)
699年 (软件开发)>557年 (并发问题)>1058年 (调用控制元件在多线程情况下不是final静态存储或元素)
代码包含一个函数或方法,运行在多线程环境中,但拥有一个不安全的最后的静态存储数据元素或成员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。同步访问远程资源没有超时- (1088)
699年 (软件开发)>557年 (并发问题)>1088年 (同步访问远程资源没有超时)
代码有一个同步调用远程资源,但是没有超时,或者超时设置为无限。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。凭证管理错误- (255)
699年 (软件开发)>255年 (凭证管理错误)
这一类的弱点有关凭证的管理。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。明文存储密码- (256)
699年 (软件开发)>255年 (凭证管理错误)>256年 (明文存储密码)
在明文存储密码可能导致系统妥协。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可恢复的格式存储的密码- (257)
699年 (软件开发)>255年 (凭证管理错误)>257年 (密码存储在可采格式)
存储密码的可恢复的格式让他们受到恶意用户密码重用攻击。事实上,应该注意的是,可恢复加密密码提供无显著好处在明文密码,因为他们不仅受到重用通过恶意攻击者还恶意的内部人员。如果一个系统管理员可以直接恢复密码,或者使用蛮力搜索可用的信息,管理员可以使用其他账户的密码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。密码配置文件- (260)
699年 (软件开发)>255年 (凭证管理错误)>260年 (密码配置文件)
产品密码存储在一个配置文件可能访问的演员不知道密码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。弱密码编码- (261)
699年 (软件开发)>255年 (凭证管理错误)>261年 (弱密码编码)
模糊的密码简单编码不保护密码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不使用密码老化- (262)
699年 (软件开发)>255年 (凭证管理错误)>262年 (不使用密码老化)
产品没有一个机制来管理密码老化。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。与长过期密码老化- (263)
699年 (软件开发)>255年 (凭证管理错误)>263年 (与长过期密码老化)
产品支持密码老化,但保质期太长了。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用一个关键过去的保质期- (324)
699年 (软件开发)>255年 (凭证管理错误)>324年 (用过去的关键保质期)
产品使用一个密钥或密码过去的保质期,显著减少其安全通过增加关键的时间窗口破解攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。弱密码要求- (521)
699年 (软件开发)>255年 (凭证管理错误)>521年 (弱密码要求)
产品不需要用户应该有强壮的密码,这使得攻击者更容易妥协用户帐户。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不受保护的运输凭证- (523)
699年 (软件开发)>255年 (凭证管理错误)>523年 (无保护运输凭证)
登录页面不使用足够的措施,保护用户名和密码,而他们是在运输过程中从客户端到服务器。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。丢失的密码字段屏蔽- (549)
699年 (软件开发)>255年 (凭证管理错误)>549年 (丢失密码字段屏蔽)
产品没有面具的密码在输入,增加潜在的攻击者观察和获取密码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。未经证实的密码更改- (620)
699年 (软件开发)>255年 (凭证管理错误)>620年 (未经证实的密码更改)
当设置一个新密码的用户,产品不需要知识的原始密码,或使用另一种形式的身份验证。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。弱密码恢复机制忘记密码- (640)
699年 (软件开发)>255年 (凭证管理错误)>640年 (弱密码恢复机制被遗忘的密码)
产品包含一个机制为用户恢复或更改密码不知道原始密码,但机制薄弱。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用硬编码的凭证- (798)
699年 (软件开发)>255年 (凭证管理错误)>798年 (使用硬编码的凭证)
产品包含硬编码的凭证,如密码或密钥,这对自己的入站的身份验证,它使用出站通信外部组件,或内部数据的加密。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用的密码哈希计算努力不足- (916)
699年 (软件开发)>255年 (凭证管理错误)>916年 (使用密码散列计算工作量不足)
产品生成哈希密码,但它使用一个计划没有提供足够水平的计算工作量,使密码破解攻击不可行或昂贵。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。密码问题- (310)
699年 (软件开发)>310年 (密码问题)
这一类的弱点有关数据机密性和完整性的设计和实现。经常这些处理编码的使用技术,加密库和散列算法。这个类别中的弱点可能导致退化的质量数据如果不解决。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。弱密码编码- (261)
699年 (软件开发)>310年 (密码问题)>261年 (弱密码编码)
模糊的密码简单编码不保护密码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用一个关键过去的保质期- (324)
699年 (软件开发)>310年 (密码问题)>324年 (用过去的关键保质期)
产品使用一个密钥或密码过去的保质期,显著减少其安全通过增加关键的时间窗口破解攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。丢失的密码步骤- (325)
699年 (软件开发)>310年 (密码问题)>325年 (缺少加密步骤)
产品没有实现密码算法所需的步骤,导致弱加密算法比广告。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用弱散列- (328)
699年 (软件开发)>310年 (密码问题)>328年 (使用弱散列)
产品使用一个算法产生一个消化(产值),不符合安全预期一个哈希函数,允许敌人合理确定原始输入(原象攻击),找到另一个输入,可以产生相同的散列(2前象攻击),或发现多个输入值相同的散列(生日攻击)。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。熵不足- (331)
699年 (软件开发)>310年 (密码问题)>331年 (熵)不足
产品使用一个算法或方案产生不足的熵,离开模式或集群的价值观比其他人更有可能发生。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。小空间的随机值- (334)
699年 (软件开发)>310年 (密码问题)>334年 (小空间的随机值)
可能的随机值的数量小于所需的产品,使它更容易受到暴力攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的使用伪随机数生成器的种子(PRNG)- (335)
699年 (软件开发)>310年 (密码问题)>335年 (不正确的使用伪随机数生成器的种子(PRNG))
产品使用伪随机数发生器(PRNG)但不正确管理种子。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用密码地弱伪随机数生成器(PRNG)- (338)
699年 (软件开发)>310年 (密码问题)>338年 (使用密码地弱伪随机数发生器(PRNG))
产品使用伪随机数生成器(PRNG)在一个安全上下文,但是PRNG的算法不是密码地强。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当验证加密的签名- (347)
699年 (软件开发)>310年 (密码问题)>347年 (不正确的密码验证签名)
产品不验证,或不正确的验证,数据加密签名。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用的密码哈希计算努力不足- (916)
699年 (软件开发)>310年 (密码问题)>916年 (使用密码散列计算工作量不足)
产品生成哈希密码,但它使用一个计划没有提供足够水平的计算工作量,使密码破解攻击不可行或昂贵。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用加密的原始风险实现- (1240)
699年 (软件开发)>310年 (密码问题)>1240年 (使用加密原始风险实现)
实现需要加密原语,使用非标准产品实现了一种加密算法,未经证实的,或不允许/不一致的加密实现。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。密钥管理错误- (320)
699年 (软件开发)>320年 (密钥管理错误)
的弱点这一类错误相关的密钥的管理。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。使用硬编码的加密密钥- (321)
699年 (软件开发)>320年 (密钥管理错误)>321年 (使用硬编码的加密密钥)
硬编码的加密密钥的使用显著增加加密的数据可以恢复的可能性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有实体认证密钥交换- (322)
699年 (软件开发)>320年 (密钥管理错误)>322年 (密钥交换没有实体验证)
产品执行密钥交换有一个演员没有验证,演员的身份。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。重用现时标志,在加密密钥对- (323)
699年 (软件开发)>320年 (密钥管理错误)>323年 (重用现时标志,密钥对加密)
目前应该用于目前的机会只有一次。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用一个关键过去的保质期- (324)
699年 (软件开发)>320年 (密钥管理错误)>324年 (用过去的关键保质期)
产品使用一个密钥或密码过去的保质期,显著减少其安全通过增加关键的时间窗口破解攻击。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。数据完整性问题- (1214)
699年 (软件开发)>1214年 (数据完整性问题)
弱点这类相关软件系统的数据完整性组件。经常这些处理能力,确保数据的完整性,如信息,资源文件,部署文件和配置文件。这个类别中的弱点可能导致退化数据完整性的质量如果不解决。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有实体认证密钥交换- (322)
699年 (软件开发)>1214年 (数据完整性问题)>322年 (密钥交换没有实体验证)
产品执行密钥交换有一个演员没有验证,演员的身份。
* 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。起源验证错误- (346)
699年 (软件开发)>1214年 (数据完整性问题)>346年 (起源验证错误)
产品不正确验证数据的来源或沟通是有效的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当验证加密的签名- (347)
699年 (软件开发)>1214年 (数据完整性问题)>347年 (不正确的密码验证签名)
产品不验证,或不正确的验证,数据加密签名。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用更少的可信来源- (348)
699年 (软件开发)>1214年 (数据完整性问题)>348年 (用不那么可信的源)
产品有两种不同的相同的数据或信息的来源,但它使用的来源不支持验证,不太可信,还是少抵抗攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。接受外来的不可信的数据和可信的数据- (349)
699年 (软件开发)>1214年 (数据完整性问题)>349年 (接受外来与可信不可信的数据数据)
产品,当处理可信的数据,接受任何不可信的数据与可信的数据,还包括治疗不可信的数据,就好像它是可信的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不足的类型的区别- (351)
699年 (软件开发)>1214年 (数据完整性问题)>351年 (不足类型区别)
产品不正确区分不同类型的元素,导致不安全的行为。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缺少支持完整性检查- (353)
699年 (软件开发)>1214年 (数据完整性问题)>353年 (缺少支持完整性检查)
产品使用一个传输协议,它不包括一个机制来验证在传输过程中数据的完整性,如校验和。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的验证完整性检查的价值- (354)
699年 (软件开发)>1214年 (数据完整性问题)>354年 (不验证的完整性检查值)
产品不验证或验证错误消息的完整性检查值或“校验和”。这可能防止检测如果传输的数据被修改或损坏。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。下载的代码没有完整性检查- (494)
699年 (软件开发)>1214年 (数据完整性问题)>494年 (下载的代码没有完整性检查)
产品下载源代码或从远程位置和执行一个可执行的代码没有充分验证代码的来源和完整性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。依赖饼干没有验证和完整性检查- (565)
699年 (软件开发)>1214年 (数据完整性问题)>565年 (依赖饼干没有验证和完整性检查)
产品依赖于存在或cookie的值在执行强调安全的操作,但它不正确的设置是有效的确保相关用户。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。依赖混淆或加密的安全相关的输入没有完整性检查- (649)
699年 (软件开发)>1214年 (数据完整性问题)>649年 (依赖混淆或加密的安全相关的输入没有完整性检查)
产品使用混淆或加密的输入,不应由外部演员可变,但产品不使用完整性检查发现如果这些输入已经修改。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。包含的功能不受信任的控制范围- (829)
699年 (软件开发)>1214年 (数据完整性问题)>829年 (包含功能来自不受信任的控制范围)
产品进口,需要,或包含可执行功能(如图书馆)从源目的控制范围之外的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的执行消息完整性在通信信道中传输- (924)
699年 (软件开发)>1214年 (数据完整性问题)>924年 (不当执行消息在传输过程中完整性通信通道)
产品与端点建立通信通道和接收一条消息的端点,但这并不足够确保消息不会在传输过程中被修改。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。数据处理错误(19)
699年 (软件开发)>19 (数据处理错误)
这一类的弱点通常是发现在功能处理数据。数据处理的操纵输入检索或保存信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的长度参数不一致- (130)
699年 (软件开发)>19 (数据处理错误)>130年 (处理不当的长度参数不一致)
产品或结构解析一个格式化的消息,但它不处理或不正确处理长度字段与相关数据的实际长度不一致。长度操作长度篡改
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的特殊元素的处理不当- (166)
699年 (软件开发)>19 (数据处理错误)>166年 (缺少特殊元素的处理不当)
产品从一个上游组件接收输入,但它不处理或不正确处理预期的特殊元素时失踪。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。额外的特殊元素的处理不当- (167)
699年 (软件开发)>19 (数据处理错误)>167年 (处理不当的额外特殊元素)
产品从一个上游组件接收输入,但它不处理或不正确处理时提供额外的意想不到的特殊元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不一致的特殊元素的处理不当- (168)
699年 (软件开发)>19 (数据处理错误)>168年 (不当的处理不一致的特殊元素)
产品不妥善处理输入的两个或两个以上的特殊字符之间存在不一致或保留字。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的敏感性- (178)
699年 (软件开发)>19 (数据处理错误)>178年 (区分大小写)的处理不当
产品不正确的大小写敏感性的差异占当访问或确定资源的属性,导致不一致的结果。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。数据崩溃到不安全的价值- (182)
699年 (软件开发)>19 (数据处理错误)>182年 (数据崩溃到不安全的价值)
产品过滤数据的方式,它会减少或者“倒塌”到一个不安全的价值,违背了预期的安全属性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过分严格的正则表达式- (186)
699年 (软件开发)>19 (数据处理错误)>186年 (过分严格的正则表达式)
正则表达式是过分严格的,它可以防止危险值被检测到。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的价值观- (229)
699年 (软件开发)>19 (数据处理错误)>229年 (值)的处理不当
产品不妥善处理的预期值参数、字段,或没有提供参数输入,或者如果这些值是未定义的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的参数- (233)
699年 (软件开发)>19 (数据处理错误)>233年 (参数)的处理不当
产品不妥善处理参数的期望值时,字段,或参数不提供输入,或如果这些参数定义。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。结构元素的处理不当- (237)
699年 (软件开发)>19 (数据处理错误)>237年 (结构元素的处理不当)
产品不能处理或错误地处理输入相关的复杂的结构。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的意想不到的数据类型- (241)
699年 (软件开发)>19 (数据处理错误)>241年 (意想不到的数据类型的处理不当)
产品不能处理或不正确处理特定元素时不预期的类型,例如,预计一个数字(0 - 9),但提供一个字母(a - z)。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的高度压缩的数据(数据放大)- (409)
699年 (软件开发)>19 (数据处理错误)>409年 (处理不当的高度压缩的数据(数据放大)
产品不能处理或不正确处理输入和非常高的压缩比的压缩,产生巨大的产出。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。修改Assumed-Immutable数据(服务员)- (471)
699年 (软件开发)>19 (数据处理错误)>471年 (修改Assumed-Immutable数据(服务员)
产品不妥善保护assumed-immutable元素从被攻击者修改。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。外部控制Assumed-Immutable Web参数- (472)
699年 (软件开发)>19 (数据处理错误)>472年 (外部控制Assumed-Immutable网络参数)
web应用程序不充分验证输入假定为不可变的,但实际上是外部控制,比如隐藏表单字段。Assumed-Immutable参数篡改
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。URL重定向不可信的网站(“开放重定向”)- (601)
699年 (软件开发)>19 (数据处理错误)>601年 (URL重定向不可信的网站(“开放重定向”))
一个web应用程序接受用户输入指定外部网站的链接,并使用该链接重定向。这简化了网络钓鱼攻击。开放的重定向跨站点重定向跨域重定向
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。XML外部实体引用的不当限制- (611)
699年 (软件开发)>19 (数据处理错误)>611年 (不当限制XML外部实体引用)
产品流程一个XML文档,XML可以包含实体的uri解析文档之外的目的范围控制,导致产品不正确的文档嵌入到它的输出。XXE
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可执行正则表达式错误- (624)
699年 (软件开发)>19 (数据处理错误)>624年 (可执行正则表达式错误)
产品使用一个正则表达式,要么(1)包含一个可执行组件与用户控制输入,或(2)允许用户启用执行插入模式修饰符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。宽容的正则表达式- (625)
699年 (软件开发)>19 (数据处理错误)>625年 (允许正则表达式)
产品使用一个正则表达式不充分限制允许的值的集合。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制递归实体引用dtd (XML实体扩张)- (776)
699年 (软件开发)>19 (数据处理错误)>776年 (不当限制递归实体引用dtd (XML实体扩张))
产品使用的XML文档,并允许它们的结构定义文档类型定义(DTD),但这并不正确控制递归定义的实体的数量。XEE十亿笑攻击XML炸弹
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不兼容的类型的比较- (1024)
699年 (软件开发)>19 (数据处理错误)>1024年 (比较不兼容的类型)
产品执行两个实体之间的比较,但不同的实体,无法保证不兼容的类型直接比较时提供正确的结果。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。数据中和问题- (137)
699年 (软件开发)>137年 (数据中和问题)
这一类的弱点有关创建或中和数据使用一个不正确的格式。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和等效特殊元素- (76)
699年 (软件开发)>137年 (数据中和问题)>76年 (不当中和当量特别的元素)
产品正确中和某些特殊元素,但它不当中和当量特殊元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当使用中和特殊元素在一个操作系统命令(OS命令注入)- (78)
699年 (软件开发)>137年 (数据中和问题)>78年 (中和不当使用特殊的元素在一个操作系统命令(OS命令注入))
产品结构的全部或部分操作系统命令使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改OS命令发送到下游组件。壳注射Shell元字符
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。中和不当输入在Web页面生成(“跨站点脚本编制”)- (79)
699年 (软件开发)>137年 (数据中和问题)>79年 (中和不当输入在Web页面生成(“跨站点脚本编制”))
产品不中和或错误中和用户可控输入之前放在输出作为web页面使用的其他用户。XSSHTML注入CSS
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和一个命令的参数分隔符(“参数注入”)- (88)
699年 (软件开发)>137年 (数据中和问题)>88年 (不当中和一个命令的参数分隔符(“参数注入”))
产品构造一个字符串的命令来执行一个单独的组件在另一个控制范围,但这并不正确划定目标参数,选项,或者开关命令字符串中。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当使用中和特殊元素在一个SQL命令(SQL注入)- (89)
699年 (软件开发)>137年 (数据中和问题)>89年 (不当中和特殊元素中使用一个SQL命令(SQL注入的))
产品构造SQL命令的所有或部分使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改SQL命令发送到下游组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当使用中和特殊元素在LDAP查询(LDAP注入)- (90)
699年 (软件开发)>137年 (数据中和问题)>90年 (中和不当特殊元素中使用LDAP查询(LDAP注入))
LDAP查询的产品结构全部或部分使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素时,可以修改预定的LDAP查询发送到下游组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。XML注入(又名XPath盲注)- (91)
699年 (软件开发)>137年 (数据中和问题)>91年 (XML注入(又名XPath盲注))
产品不正确中和特殊元素中使用XML,允许攻击者修改语法,内容,或命令的XML处理结束之前系统。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。中和不当CRLF序列(CRLF注入)- (93)
699年 (软件开发)>137年 (数据中和问题)>93年 (中和不当CRLF序列(CRLF注入))
产品采用CRLF(回车换行)作为一种特殊的元素,例如单独的行或记录,但它不中和或错误中和CRLF从输入序列。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当控制生成的代码(代码注入)- (94)
699年 (软件开发)>137年 (数据中和问题)>94年 (不当控制生成的代码(代码注入的))
产品结构全部或部分的代码段使用externally-influenced输入从一个上游组件,但是它不中和或中和特殊的元素,可以修改错误的语法或行为的代码段。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和静态保存指令的代码(静态代码注入)- (96)
699年 (软件开发)>137年 (数据中和问题)>96年 (不正确的指令在静态保存代码中和(静态代码注入的))
产品从一个上游组件接收输入,但它不会消除或中和代码语法错误之前输入插入一个可执行的资源,如图书馆,配置文件,或者模板。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的输出中和日志- (117)
699年 (软件开发)>137年 (数据中和问题)>117年 (日志输出中和不当)
产品不消除或中和错误输出写入日志。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。中和不当分隔符- (140)
699年 (软件开发)>137年 (数据中和问题)>140年 (中和不当分隔符)
产品不中和或错误中和分隔符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当零终止- (170)
699年 (软件开发)>137年 (数据中和问题)>170年 (不当空终止)
产品不终止或不正确地终止字符串或数组null字符或等价的终结者。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。依赖数据/内存布局- (188)
699年 (软件开发)>137年 (数据中和问题)>188年 (依赖数据/内存布局)
产品使无效假设协议数据或内存如何被组织在一个较低的水平,导致意想不到的程序行为。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。重复键关联列表中(倾斜的)- (462)
699年 (软件开发)>137年 (数据中和问题)>462年 (重复键关联列表(倾斜的))
重复键关联列表可以导致非唯一键被误认为是一个错误。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。删除数据结构前哨- (463)
699年 (软件开发)>137年 (数据中和问题)>463年 (数据结构哨兵的删除)
数据结构的意外删除哨兵可以导致严重的编程逻辑问题。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。哨兵的数据结构- (464)
699年 (软件开发)>137年 (数据中和问题)>464年 (增加数据结构前哨)
意外的数据结构哨兵可以导致严重的编程逻辑问题。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制文件和其他资源的名称- (641)
699年 (软件开发)>137年 (数据中和问题)>641年 (不当限制的文件和其他资源)
产品结构使用输入文件的名称或其他资源的上游组件,但这并不限制或者错误地限制产生的名字。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和数据在XPath表达式(XPath注入)- (643)
699年 (软件开发)>137年 (数据中和问题)>643年 (中和不当数据在XPath表达式(XPath注入))
产品使用外部输入动态地构建一个XPath表达式用于检索数据从XML数据库,但它不中和或输入错误中和。这允许攻击者控制的结构查询。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和在XQuery表达式的数据(“XQuery注入”)- (652)
699年 (软件开发)>137年 (数据中和问题)>652年 (中和不当数据在XQuery表达式(“XQuery注入”))
产品使用外部输入动态地构建一个XQuery表达式用于检索数据从XML数据库,但它不中和或输入错误中和。这允许攻击者控制的结构查询。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完全过滤的特殊元素- (791)
699年 (软件开发)>137年 (数据中和问题)>791年 (不完全过滤的特殊元素)
产品从一个上游组件接收数据,但不完全过滤特殊元素之前发送给下游组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。只有过滤特殊元素在指定的位置- (795)
699年 (软件开发)>137年 (数据中和问题)>795年 (只过滤特殊元素在指定位置)
产品从一个上游组件接收数据,但只占特殊元素在指定的位置,从而错过剩下的特殊元素可能存在的,然后再把它传递给下游组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不恰当的编码输出环境- (838)
699年 (软件开发)>137年 (数据中和问题)>838年 (不合适的编码输出上下文)
产品使用或指定一个编码在生成输出到下游组件,但指定的编码是不一样的编码所预期的下游组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和一个表达式语言语句中使用的特殊元素(表达式语言注入)- (917)
699年 (软件开发)>137年 (数据中和问题)>917年 (不当中和特殊元素中使用表达式语言语句(表达式语言注入))
产品结构的全部或部分的表达式语言(EL)声明一个框架如Java服务器页面(JSP)使用externally-influenced输入从一个上游组件,但这并不中和或错误地中和特殊元素,可以修改预定的EL语句之前执行。EL注入
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当中和公式元素的CSV文件- (1236)
699年 (软件开发)>137年 (数据中和问题)>1236年 (中和不当公式元素在一个CSV文件)
产品保存用户信息为逗号分隔值(CSV)文件,但它不中和或错误地中和特殊元素,可以解释为一个命令文件打开时,一个电子表格的产品。CSV注入公式注入Excel宏注入
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。文档的问题- (1225)
699年 (软件开发)>1225年 (文档问题)
弱点这类相关的文档提供给支持,创建,或分析一个产品。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。丢失的文档设计- (1053)
699年 (软件开发)>1225年 (文档问题)>1053年 (缺少文档设计)
产品没有文档表示它是如何设计的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。实现之间的矛盾和记录设计- (1068)
699年 (软件开发)>1225年 (文档问题)>1068年 (实现和记录设计之间的矛盾)
产品的实现中不符合描述的设计相关文档。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完整的设计文档- (1110)
699年 (软件开发)>1225年 (文档问题)>1110年 (不完整的设计文档)
产品的设计文档不充分描述控制流、数据流、系统初始化、任务之间的关系,组件,设计的依据,或其他重要方面。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完整的I / O文档- (1111)
699年 (软件开发)>1225年 (文档问题)>1111年 (不完整的I / O文档)
产品的文档不充分定义的输入,输出,或系统/软件接口。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完整的文档的程序执行- (1112)
699年 (软件开发)>1225年 (文档问题)>1112年 (不完整的文档程序执行)
文档不完全定义所有机制用于控制或影响特定于产品的程序是如何执行的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。文档错误处理技术的不足- (1118)
699年 (软件开发)>1225年 (文档问题)>1118年 (文档错误处理技术的不足)
文档不充分描述的技术用于错误处理,异常处理,或类似的机制。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。文件处理问题- (1219)
699年 (软件开发)>1219年 (文件处理问题)
弱点这类处理相关的文件在一个软件系统。文件、目录和文件夹信息技术的核心,许多不同的弱点和变异被发现。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。相对路径遍历- (23)
699年 (软件开发)>1219年 (文件处理问题)>23 (相对路径遍历)
产品使用外部输入来构造一个路径名应该在一个受限制的目录,但它不适当中和序列如“. .”,可以解决该目录以外的一个位置。拉链滑
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。绝对路径遍历(36)
699年 (软件开发)>1219年 (文件处理问题)>36 (绝对路径遍历)
产品使用外部输入来构造一个路径名应该在一个受限制的目录,但它不适当中和绝对路径序列如“/ abs /路径”,能够解决该目录以外的位置。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的解决路径等效(41)
699年 (软件开发)>1219年 (文件处理问题)>41 (不正确的路径等效)决议
该产品是容易通过路径等效文件系统内容披露。路径等效包括使用特殊字符的文件和目录的名称。相关操作的目的是生成多个名称相同的对象。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当链接之前决议文件访问(“链接后”)(59)
699年 (软件开发)>1219年 (文件处理问题)>59 (不正确的链接之前决议文件访问(“链接后”))
产品基于文件名试图访问一个文件,但它不适当阻止,文件名标识一个链接或快捷方式,解决了一个意想不到的资源。不安全的临时文件拉链滑
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的文件名识别虚拟资源- (66)
699年 (软件开发)>1219年 (文件处理问题)>66年 (确定虚拟资源的不当处理文件名)
产品不能处理或不正确处理文件名标识一个“虚拟”的资源,不是直接内指定的目录与文件名称,导致产品对资源执行文件操作,不是一个文件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。创建临时文件和不安全的权限- (378)
699年 (软件开发)>1219年 (文件处理问题)>378年 (与不安全的权限创建临时文件)
打开临时文件不适当措施或控制可以把文件,其内容和任何函数,它的影响很容易受到攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。创建临时文件目录的权限- (379)
699年 (软件开发)>1219年 (文件处理问题)>379年 (创建临时文件目录的权限)
产品创建一个临时文件目录的权限允许意想不到的演员来确定文件的存在或访问该文件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不可信的搜索路径- (426)
699年 (软件开发)>1219年 (文件处理问题)>426年 (不受信任的搜索路径)
产品搜索关键资源使用外来的搜索路径,可以指向资源不受产品的直接控制。不可信的路径
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不受控制的搜索路径元素- (427)
699年 (软件开发)>1219年 (文件处理问题)>427年 (不受控制的搜索路径元素)
产品使用一个固定的或控制搜索路径找到资源,但一个或多个位置的控制下,路径可以意想不到的演员。DLL预加载二元种植不安全的库加载依赖关系混乱
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。非上市搜索路径或元素- (428)
699年 (软件开发)>1219年 (文件处理问题)>428年 (非挂牌搜索路径或元素)
产品使用一个搜索路径,其中包含一个非上市元素,元素包含空格或其他分隔符。这可能会导致产品在父路径来访问资源。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。封装的问题- (1227)
699年 (软件开发)>1227年 (封装问题)
弱点这类问题相关的数据绑定的方法用来操作数据。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不必要的调用控制元件在一个深水平层- (1054)
699年 (软件开发)>1227年 (封装问题)>1054年 (在一个不必要的调用控制元件深水平层)
代码在一个架构层调用的代码驻留在更深的一层比相邻层,即。跳过至少一层调用,调用代码不属于垂直效用层,可以引用任何水平层。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。预期之外的数据访问操作数据管理器组件- (1057)
699年 (软件开发)>1227年 (封装问题)>1057年 (预期之外的数据访问操作的数据管理器组件)
产品使用一个专用,中央数据管理器组件根据设计需要,但它包含的代码,执行数据访问操作,不要使用这个数据管理器。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。父类与子类的引用- (1062)
699年 (软件开发)>1227年 (封装问题)>1062年 (父类与子类的引用)
的代码有一个父类,其中包含子类的引用,其方法或其成员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。数据访问管理器组件预期以外的数据- (1083)
699年 (软件开发)>1227年 (封装问题)>1083年 (预期的数据以外的数据访问管理器组件)
该产品旨在通过一个特定的数据管理器来管理数据访问组件,如关系或非sql数据库中,但是它包含执行数据访问操作的代码没有使用该组件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。方法包含访问另一个类的成员元素- (1090)
699年 (软件开发)>1227年 (封装问题)>1090年 (方法包含访问另一个类的成员元素)
一个类方法执行一个操作,直接从另一个类成员访问元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。隔离系统的功能不足- (1100)
699年 (软件开发)>1227年 (封装问题)>1100年 (隔离系统的功能不足)
产品或代码不隔离系统的功能为独立的独立模块。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。机器特有的功能的封装不足- (1105)
699年 (软件开发)>1227年 (封装问题)>1105年 (机器特有的功能的封装不足)
产品或代码使用计算机有关的功能,但它不足够封装或隔离此功能的代码。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。错误条件,返回值,状态代码- (389)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)
这一类包括弱点,如果一个函数不生成正确的返回/状态代码,或者应用程序不能处理所有可能的返回/状态代码,可以由一个函数。这种类型的问题通常是在条件中发现,很少遇到在产品的正常运行。据推测,最常见的条件是发现相关的bug和消除在开发和测试期间。在某些情况下,攻击者可以直接控制或影响环境引发罕见的条件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。代的包含敏感信息的错误消息- (209)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>209年 (包含敏感信息的错误消息的一代)
产品生成一个错误消息,包括环境的敏感信息,用户,或相关的数据。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。未捕获异常- (248)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>248年 (异常)
从一个函数抛出异常,但这并不是她的老公知道。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不返回值- (252)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>252年 (不返回值)
产品不会检查方法或函数返回值,可以防止检测意想不到的状态和条件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。函数返回值的错误检查- (253)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>253年 (错误检查的函数返回值)
产品不正确检查函数的返回值,这就避免了冲突检测错误或异常情况。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有行动检测错误条件- (390)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>390年 (检测错误条件没有行动)
产品检测到一个特定的错误,但没有行动来处理错误。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。未经检查的错误条件- (391)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>391年 (未检测错误条件)
(计划在弃用。看到维修笔记和考虑cwe - 252, cwe - 248,或cwe - 1069。)忽略异常和其他错误条件可能允许攻击者产生异常行为引起注意。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的报告错误条件- (392)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>392年 (错误条件的缺失报告)
产品遇到错误但不提供一个状态码或返回值,表明发生了一个错误。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。返回错误状态码- (393)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>393年 (返回错误状态码)
返回一个函数或操作不正确的返回值或状态并不意味着一个错误的代码,但导致产品修改其行为基于错误的结果。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。意想不到的状态代码或返回值- (394)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>394年 (意想不到的状态代码或返回值)
产品不正确检查当函数或操作函数返回一个值,是合法的,但不是所期望的产品。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用的NullPointerException捕获检测空指针- (395)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>395年 (使用NullPointerException捕获检测空指针)
捕捉NullPointerException不应使用替代编程检查以防止非关联化一个空指针。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。捕捉通用异常宣言- (396)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>396年 (抓住宣言一般例外)
捕捉过于广泛的异常促进复杂的错误处理代码,更有可能包含安全漏洞。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。声明抛出的一般例外- (397)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>397年 (泛型声明抛出异常)
抛出过于广泛的异常促进复杂的错误处理代码,更有可能包含安全漏洞。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缺少标准化的错误处理机制- (544)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>544年 (缺少标准化的错误处理机制)
产品不使用一个标准化的方法处理错误的代码,这可能介绍不一致的错误处理和合成的弱点。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。返回在Finally块- (584)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>584年 (返回在Finally块)
代码的返回语句在finally块中,这将导致任何抛出异常在try块被丢弃。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。在Servlet异常- (600)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>600年 (在Servlet异常)
Servlet不能捕获所有异常,这可能显示敏感的调试信息。失踪的Catch块
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可以断言- (617)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>617年 (可以断言)
产品包含一个assert()或类似的语句,可以由攻击者,从而导致应用程序退出或其他不必要的行为更严重。断言失败
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的自定义错误页面- (756)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>756年 (缺少定制错误页面)
产品不返回自定义错误页面给用户,可能暴露敏感信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。空异常块- (1069)
699年 (软件开发)>389年 (错误条件,返回值,状态代码)>1069年 (空异常块)
一个调用代码块包含一个异常处理块不包含任何代码,即是空的。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。表达式问题- (569)
699年 (软件开发)>569年 (表达式问题)
这一类的弱点错误相关表达式在代码写的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用不正确的操作符- (480)
699年 (软件开发)>569年 (表达式问题)>480年 (使用不正确的操作符)
产品不小心使用了错误的操作符,它改变了逻辑在安全相关的方面。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。表达式总是错误的- (570)
699年 (软件开发)>569年 (表达式问题)>570年 (表达式总是错误)
产品包含一个表达式,总是计算为false。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。表达式总是正确的- (571)
699年 (软件开发)>569年 (表达式问题)>571年 (表达式总是正确的)
产品包含一个表达式,总是评估为true。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。植物体内非结构性指针访问的孩子- (588)
699年 (软件开发)>569年 (表达式问题)>588年 植物体内非结构性指针(试图访问孩子的)
植物体内非结构性类型来铸造一个结构类型和访问字段可能导致内存访问错误或数据损坏。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。比较对象引用,而不是对象的内容- (595)
699年 (软件开发)>569年 (表达式问题)>595年 (比较对象引用,而不是对象的内容)
产品比较对象引用,而不是对象本身的内容,防止检测对象。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。运算符优先级逻辑错误- (783)
699年 (软件开发)>569年 (表达式问题)>783年 (运算符优先级逻辑错误)
产品使用一个表达式的运算符优先级导致使用错误的逻辑。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。处理程序错误- (429)
699年 (软件开发)>429年 (处理程序错误)
这一类的弱点有关管理不当的处理程序。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。部署错误处理程序- (430)
699年 (软件开发)>429年 (处理程序错误)>430年 (错误处理程序的部署)
错误的处理程序是分配给对象的过程。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。丢失的处理程序- (431)
699年 (软件开发)>429年 (处理程序错误)>431年 (丢失处理程序)
一个处理程序不可用或实现。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。危险信号处理器不敏感操作期间禁用- (432)
699年 (软件开发)>429年 (处理程序错误)>432年 (危险信号处理器不敏感操作期间禁用)
产品使用一个信号处理程序,国家与其他信号处理程序,但这并不正确面具或阻止这些信号处理程序被调用而原始信号处理程序仍在运行。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。未解析的原始Web内容交付- (433)
699年 (软件开发)>429年 (处理程序错误)>433年 (未解析原始Web内容交付)
产品存储原始内容或支持代码web文档根目录下的一个扩展,不是专门由服务器处理。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无限制上传文件与危险的类型- (434)
699年 (软件开发)>429年 (处理程序错误)>434年 (无限制上传文件与危险的类型)
产品允许攻击者上传或危险的传输文件类型,可以自动处理产品的内环境。不受限制的文件上传
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。信号处理器使用不可重入函数- (479)
699年 (软件开发)>429年 (处理程序错误)>479年 (信号处理器使用不可重入函数)
产品定义了一个信号处理程序,调用一个不可重入函数。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。信息管理错误- (199)
699年 (软件开发)>199年 (信息管理错误)
这一类的弱点有关处理不当的敏感信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。敏感信息插入发送数据- (201)
699年 (软件开发)>199年 (信息管理错误)>201年 (敏感信息插入发送数据)
代码数据传送到另一个演员,但是部分数据包括敏感信息,不应该访问的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可观察到的响应差异- (204)
699年 (软件开发)>199年 (信息管理错误)>204年 (可观察到的响应差异)
产品提供了不同的反应传入请求的方式揭示了内部状态信息未经授权的演员之外的控制范围。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可观察到的行为差异- (205)
699年 (软件开发)>199年 (信息管理错误)>205年 (可观察到的行为差异)
产品的行为表明重要的差异可能会观察到未经授权的演员的方式揭示了(1)其内部状态或决策过程,或(2)区别其他产品与等效的功能。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可观测的时间差异- (208)
699年 (软件开发)>199年 (信息管理错误)>208年 (可观测的时间差异)
两个独立操作一个产品需要不同的大量的时间来完成,在某种程度上可以观察到的一个演员,揭示了安全相关产品的状态信息,例如特定的操作是否成功与否。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。代的包含敏感信息的错误消息- (209)
699年 (软件开发)>199年 (信息管理错误)>209年 (包含敏感信息的错误消息的一代)
产品生成一个错误消息,包括环境的敏感信息,用户,或相关的数据。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当删除敏感信息在存储或传输- (212)
699年 (软件开发)>199年 (信息管理错误)>212年 (不当删除敏感信息在存储或传输)
产品存储、传输或共享一个资源包含敏感信息,但它并不正确删除信息在产品使资源可用于未经授权的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。由于不兼容的政策暴露敏感信息- (213)
699年 (软件开发)>199年 (信息管理错误)>213年 (暴露敏感信息由于不兼容的政策)
产品应有的功能暴露某些参与者的信息按照开发人员的安全政策,但这些信息被认为是敏感的目的根据安全策略对其他利益相关者如产品的管理员,用户,或其他的信息处理。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用可见敏感信息的调用过程- (214)
699年 (软件开发)>199年 (信息管理错误)>214年 (调用过程使用可见光敏感信息)
命令行参数调用一个过程与敏感,环境变量,或者其他元素可以被其他进程在操作系统。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。敏感信息插入调试代码- (215)
699年 (软件开发)>199年 (信息管理错误)>215年 (敏感信息插入调试代码)
产品将敏感信息插入调试代码,这可能会暴露这些信息如果调试代码没有在生产中禁用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。明文存储的敏感信息- (312)
699年 (软件开发)>199年 (信息管理错误)>312年 (明文存储的敏感信息)
内的产品在明文存储敏感信息资源可能会访问另一个控制范围。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。明文传输的敏感信息- (319)
699年 (软件开发)>199年 (信息管理错误)>319年 (明文传输敏感信息)
明文的产品传递重要敏感或安全数据通信通道,可以嗅未经授权的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。暴露私人个人信息未经授权的演员- (359)
699年 (软件开发)>199年 (信息管理错误)>359年 (暴露私人个人信息未经授权的演员)
产品不正确阻止一个人的私人的,个人信息被访问的演员要么(1)没有明确授权访问信息或(2)没有隐式的同意的人谁收集的信息。隐私的侵犯隐私泄漏隐私泄漏
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。接触敏感的系统信息未经授权的控制范围- (497)
699年 (软件开发)>199年 (信息管理错误)>497年 (暴露敏感系统信息未经授权的控制范围)
产品不妥善防止敏感系统级信息不被未经授权的访问演员没有相同级别的访问底层系统的产品。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用缓存包含敏感信息- (524)
699年 (软件开发)>199年 (信息管理错误)>524年 (使用缓存包含敏感信息)
代码使用一个缓存包含敏感信息,但可以读缓存一个演员之外的控制范围。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。敏感信息插入日志文件- (532)
699年 (软件开发)>199年 (信息管理错误)>532年 (敏感信息插入日志文件)
信息写入日志文件可以是一个敏感的天性,给攻击者或有价值的指导用户暴露敏感信息。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。包含敏感信息的源代码- (540)
699年 (软件开发)>199年 (信息管理错误)>540年 (包含敏感信息的源代码)
源代码在web服务器或存储库通常包含敏感信息,通常不应该访问的用户。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。存储的敏感数据没有访问控制机制- (921)
699年 (软件开发)>199年 (信息管理错误)>921年 (存储敏感数据的机制没有访问控制)
产品将敏感信息存储在一个文件系统或设备,没有内置的访问控制。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。暴露敏感信息的元数据- (1230)
699年 (软件开发)>199年 (信息管理错误)>1230年 (暴露敏感信息通过元数据)
产品防止直接访问资源包含敏感信息,但这并不足以限制访问元数据来源于原始,敏感信息。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。初始化和清理错误- (452)
699年 (软件开发)>452年 (初始化和清理错误)
弱点这类行为发生在用于初始化和崩溃。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。敏感信息在资源不被重用- (226)
699年 (软件开发)>452年 (初始化和清理错误)>226年 (敏感信息在资源不被重用之前)
产品发布资源如内存或文件,以便它可以重用,但它不清楚或“填零”中包含的信息资源在产品执行临界状态转换或使其他实体的资源可供重用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可信的外部初始化变量或数据存储- (454)
699年 (软件开发)>452年 (初始化和清理错误)>454年 (可信的外部初始化变量或数据存储)
产品初始化关键内部变量或数据存储使用输入,可以修改不可信的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。出口在初始化失败- (455)
699年 (软件开发)>452年 (初始化和清理错误)>455年 初始化失败(出口)
产品不退出或修改其操作时的安全相关的错误发生在初始化期间,如当一个配置文件格式错误或硬件安全模块(HSM)不能被激活,这可能会导致产品在更安全的方式执行由管理员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完整的清理- (459)
699年 (软件开发)>452年 (初始化和清理错误)>459年 (不完全清理)
产品不正确的“清理”,删除临时或支持资源后使用。清理不足
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。清理不当抛出异常- (460)
699年 (软件开发)>452年 (初始化和清理错误)>460年 (清理不当抛出例外)
产品不清理它的状态或不正确清理其状态时将抛出一个异常,导致意想不到的状态或控制流。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。用硬编码的网络资源配置数据初始化- (1051)
699年 (软件开发)>452年 (初始化和清理错误)>1051年 (与硬编码的网络资源配置数据初始化)
产品使用硬编码的值初始化数据作为网络资源标识符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过度使用硬编码文本初始化- (1052)
699年 (软件开发)>452年 (初始化和清理错误)>1052年 (在初始化过度使用硬编码的文字)
产品初始化数据元素使用硬编码的文字,不是一个简单的整数或静态常量元素。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不安全的默认初始化资源- (1188)
699年 (软件开发)>452年 (初始化和清理错误)>1188年 (不安全的默认初始化资源)
产品初始化或集资源管理员默认的本意是要改变的,但默认是不安全的。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。数据验证问题- (1215)
699年 (软件开发)>1215年 (数据验证问题)
弱点这类相关软件系统的组件输入验证、输出验证,或其他类型的验证。验证是一个经常使用的技术,确保数据符合预期进一步处理之前作为输入或输出。有很多品种的验证(见CWE-20,也就是输入验证)。验证是不同于其他技术,尝试修改数据前处理,尽管开发人员可能认为所有尝试产品“安全”输入或输出的验证。无论如何,验证是一个强大的工具,通常用于最小化数据进入系统畸形,或间接避免代码注入或其他潜在的恶意模式在生成输出。这个类别中的弱点可能导致退化的质量数据流系统中如果不解决。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的XML验证- (112)
699年 (软件开发)>1215年 (数据验证问题)>112年 (丢失的XML验证)
产品接受来自不受信任来源的XML但并不针对适当的模式验证XML。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。不当的验证数组索引- (129)
699年 (软件开发)>1215年 (数据验证问题)>129年 (不正确验证数组索引)
产品使用不受信任的输入在计算或使用数组索引,但是产品不验证或不正确验证索引,确保索引引用数组中的一个有效位置。禁止入内的数组索引index-out-of-range数组索引下溢
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的行为秩序:早期验证- (179)
699年 (软件开发)>1215年 (数据验证问题)>179年 (不正确的行为秩序:早期验证)
产品验证输入之前应用修改输入的保护机制,这可能允许攻击者绕过验证通过危险的输入,只有修改后出现。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。宽容的允许输入列表- (183)
699年 (软件开发)>1215年 (数据验证问题)>183年 (允许列表允许输入)
产品实现了一个保护机制,它依赖于输入(或输入)的属性的列表,明确允许的政策,因为输入被认为是安全的,但是列表太宽容——也就是说,它允许一个输入是不安全的,导致合成的弱点。Allowlist /允许列表Safelist /安全列表“白名单”/白名单
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不允许输入的完整列表- (184)
699年 (软件开发)>1215年 (数据验证问题)>184年 (不允许输入的完整列表)
产品实现了一个保护机制,它依赖于输入的列表(或输入)的属性所不允许的政策或者需要其他行动中和之前额外的处理,但是清单是不完整的,导致合成的弱点。Denylist /拒绝列表过滤清单/块列表黑名单/黑名单
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。检查循环条件的输入- (606)
699年 (软件开发)>1215年 (数据验证问题)>606年 (不输入循环条件)
产品不正确检查输入用于循环条件,可能导致拒绝服务或其他后果,因为过度的循环。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制文件和其他资源的名称- (641)
699年 (软件开发)>1215年 (数据验证问题)>641年 (不当限制的文件和其他资源)
产品结构使用输入文件的名称或其他资源的上游组件,但这并不限制或者错误地限制产生的名字。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。验证框架的使用不当- (1173)
699年 (软件开发)>1215年 (数据验证问题)>1173年 (验证框架的使用不当)
产品不使用,或不正确使用,输入验证框架提供的源语言或一个独立的库。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。锁定机制的错误- (1216)
699年 (软件开发)>1216年 (锁定机制错误)
这一类的弱点与软件系统相关的锁定机制。经常这些处理场景,在多次失败的情况下生效一个给定的资源的访问。这个类别中的弱点可能导致退化的访问系统资产如果不解决。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过分严格的帐户锁定机制- (645)
699年 (软件开发)>1216年 (锁定机制错误)>645年 (过分严格的帐户锁定机制)
产品包含一个帐户锁定保护机制,但这种机制过于严格,可以很容易触发,它允许攻击者拒绝服务合法用户,导致他们的账户被锁定了。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。内存缓冲区错误- (1218)
699年 (软件开发)>1218年 (内存缓冲区错误)
弱点这类相关的处理软件系统中的内存缓冲区。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缓冲区复制没有检查输入的大小(经典的缓冲区溢出)- (120)
699年 (软件开发)>1218年 (内存缓冲区错误)>120年 (缓冲区复制没有检查输入的大小(“经典缓冲区溢出”))
产品输入缓冲区复制到输出缓冲区没有验证输入缓冲区的大小小于输出缓冲区的大小,导致缓冲区溢出。经典的缓冲区溢出无限的转移
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。Write-what-where条件- (123)
699年 (软件开发)>1218年 (内存缓冲区错误)>123年 (Write-what-where条件)
任何条件,即攻击者有能力写一个任意值到任意位置,通常作为一个缓冲区溢出的结果。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缓冲区承销(缓冲区下溢)- (124)
699年 (软件开发)>1218年 (内存缓冲区错误)>124年 (缓冲承销(缓冲区下溢))
产品写入缓冲区使用索引或指针,引用一个内存位置之前缓冲区的开始。缓冲暗流
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。禁止入内的读- (125)
699年 (软件开发)>1218年 (内存缓冲区错误)>125年 (禁止入内的阅读)
产品读取数据过去,一开始,或之前预期的缓冲区。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的缓冲区大小的计算- (131)
699年 (软件开发)>1218年 (内存缓冲区错误)>131年 (不正确的计算缓冲区大小)
产品不正确计算时使用的大小分配一个缓冲区,这可能会导致缓冲区溢出。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。之前访问的内存位置缓冲区的开始- (786)
699年 (软件开发)>1218年 (内存缓冲区错误)>786年 (访问的内存位置缓冲区开始之前)
产品读取或写入缓冲区使用索引或指针,引用一个内存位置之前缓冲区的开始。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。禁止入内的写- (787)
699年 (软件开发)>1218年 (内存缓冲区错误)>787年 (禁止入内的写)
结束过去的产品写数据,或者在开始之前,预期的缓冲区。内存泄露
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。访问结束后的内存位置缓冲区- (788)
699年 (软件开发)>1218年 (内存缓冲区错误)>788年 (访问的内存位置缓冲区结束后)
产品读取或写入缓冲区使用索引或指针,引用一个内存位置后的缓冲区。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缓冲区长度值不正确的访问- (805)
699年 (软件开发)>1218年 (内存缓冲区错误)>805年 (缓冲区访问与不正确的长度值)
产品使用顺序操作读或写一个缓冲,但它使用一个不正确的长度值,使访问内存缓冲区的边界之外。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。数字错误- (189)
699年 (软件开发)>189年 (数字错误)
这一类的弱点有关不当或转换的数字计算。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。环绕式处理错误- (128)
699年 (软件开发)>189年 (数字错误)>128年 (环绕式处理错误)
绕过去时发生错误值递增最大值的类型,因此“围绕”很小,消极,或未定义的值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。整数溢出或概括的- (190)
699年 (软件开发)>189年 (数字错误)>190年 (整数溢出或概括)
产品执行的计算可以产生一个整数溢出或概括,当逻辑假设得到的值总是大于原始值。这可以介绍其他弱点当计算用于资源管理或执行控制。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。整数下溢(包装或概括)- (191)
699年 (软件开发)>189年 (数字错误)>191年 (整数下溢(包装或概括)
产品减去一个值从另一个角度来看,这样的结果小于最低容许整型值,产生的值不等于正确的结果。整数下溢
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。整数强制错误- (192)
699年 (软件开发)>189年 (数字错误)>192年 (整数强制错误)
整数强制是指一组相关的缺陷类型铸造、原始数据类型的扩展,或截断。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。错误- (193)
699年 (软件开发)>189年 (数字错误)>193年 (错误)
计算产品或使用错误的最大或最小值1,或小1,比正确的值。off-by-five
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。数字截断误差- (197)
699年 (软件开发)>189年 (数字错误)>197年 (数字截断误差)
截断误差发生当一个原始的小一号的原始和转换数据丢失。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用不正确的字节顺序- (198)
699年 (软件开发)>189年 (数字错误)>198年 (用不正确的字节次序)
产品从一个上游组件接收输入,但它不占字节顺序(如大端法和低位优先)在处理输入,导致一个不正确的数量或价值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。除以零- (369)
699年 (软件开发)>189年 (数字错误)>369年 (除以零)
这个产品值除以零。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的数值类型之间的转换- (681)
699年 (软件开发)>189年 (数字错误)>681年 (不正确的数值类型之间的转换)
当从一个数据类型转换到另一个,比如长整数,数据可以省略或翻译的方式产生意想不到的价值。如果使用生成的值在一个敏感的情况下,就可能发生危险的行为。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。没有最低检查数字范围比较- (839)
699年 (软件开发)>189年 (数字错误)>839年 (数字范围比较没有最低检查)
产品检查一个值,以确保它是小于或等于最大,但它也不验证值是大于或等于最低。签署的比较
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。浮点数与不正确的操作符- (1077)
699年 (软件开发)>189年 (数字错误)>1077年 (与不正确的浮点比较操作符)
代码执行两个浮动之间的比较,如一个平等的测试(浮点)值,但它使用比较运算符,不占精度损失的可能性。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。精度不足或精度实数- (1339)
699年 (软件开发)>189年 (数字错误)>1339年 (精度不足或一个实数的准确性)
产品流程一个实数与实现数量的表示不保存所需的准确度和精密度的小数部分,导致一个不正确的结果。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的解析数字不同的词根- (1389)
699年 (软件开发)>189年 (数字错误)>1389年 (不正确的解析数字不同的词根)
以10为底的产品解析数值输入假设(十进制)值,但它不占输入,使用不同的基数(基数)。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。权限的问题- (275)
699年 (软件开发)>275年 (权限问题)
这一类的弱点权限的分配或处理不当有关。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的默认权限- (276)
699年 (软件开发)>275年 (权限问题)>276年 (不正确的默认权限)
在安装过程中,安装文件权限设置为允许任何人修改这些文件。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。不安全的继承权限- (277)
699年 (软件开发)>275年 (权限问题)>277年 (不安全的继承权限)
产品定义了一组安全权限继承的对象创建的项目。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。不安全的保存继承权限- (278)
699年 (软件开发)>275年 (权限问题)>278年 (不保留继承权限)
产品继承了一套安全对象的权限,如从存档文件复制时,无需用户意识或参与。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。不正确的Execution-Assigned权限- (279)
699年 (软件开发)>275年 (权限问题)>279年 (错误Execution-Assigned权限)
虽然执行,产品集的权限对象的目的在某种程度上违反了权限已经由用户指定。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的权限或权限不足- (280)
699年 (软件开发)>275年 (权限问题)>280年 (权限不足的处理不当或特权)
产品不能处理或错误处理当它有足够的权限来访问资源或功能作为其权限规定。这可能导致意想不到的代码路径,可能导致产品在一个无效的状态。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。保存不当的权限- (281)
699年 (软件开发)>275年 (权限问题)>281年 (权限保存不当)
产品不保存权限或不正确保存权限复制时,恢复,或共享对象,这可能会导致他们有严格的权限比预期少。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。曝光不安全的ActiveX方法- (618)
699年 (软件开发)>275年 (权限问题)>618年 (暴露不安全的ActiveX方法)
一个ActiveX控件用于web浏览器,但它使危险的方法,执行操作,在浏览器的安全模型(例如欧元区或域)。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。关键数据元素声明- (766)
699年 (软件开发)>275年 (权限问题)>766年 (关键数据元素声明公开)
产品声明一个关键变量、字段或成员时公共安全政策要求它是私有的。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。访问私有变量通过公共方法至关重要- (767)
699年 (软件开发)>275年 (权限问题)>767年 (通过公共方法访问重要的私有变量)
产品定义了一个公共方法,读取或修改一个私有变量。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。指针的问题- (465)
699年 (软件开发)>465年 (指针问题)
这一类的弱点有关处理不当的指针。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。返回指针值的预期范围之外- (466)
699年 (软件开发)>465年 (指针问题)>466年 (返回的指针值预期范围以外的)
函数可以返回一个指针指向的内存之外的缓冲区的指针将参考。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。使用sizeof()在一个指针类型- (467)
699年 (软件开发)>465年 (指针问题)>467年 (使用sizeof()在一个指针类型)
代码调用sizeof()在malloc指针类型,它总是返回wordsize / 8。这可以产生意想不到的结果,如果程序员为了确定被分配多少内存。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的指针扩展- (468)
699年 (软件开发)>465年 (指针问题)>468年 (不正确的指针缩放)
在C和c++中,常常会不小心把错误的记忆由于当隐式数学操作的语义扩展。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用指针减法来确定尺寸- (469)
699年 (软件开发)>465年 (指针问题)>469年 (使用指针减法来确定大小)
产品减去一个指针从另一个为了确定大小,但是这个计算可以是不正确的,如果不存在于相同的内存块的指针。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。空指针废弃- (476)
699年 (软件开发)>465年 (指针问题)>476年 (空指针)
应用程序时出现空指针废弃取消引用指针,它预计将是有效的,但是是空的,通常导致崩溃或退出。NPD零deref空指针
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。分配一个固定地址的指针- (587)
699年 (软件开发)>465年 (指针问题)>587年 (一个固定地址分配给一个指针)
产品设置一个指针指向一个特定的地址而不是NULL或0。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。植物体内非结构性指针访问的孩子- (588)
699年 (软件开发)>465年 (指针问题)>588年 植物体内非结构性指针(试图访问孩子的)
植物体内非结构性类型来铸造一个结构类型和访问字段可能导致内存访问错误或数据损坏。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无效的指针或引用- (763)
699年 (软件开发)>465年 (指针问题)>763年 (释放无效的指针或引用)
产品试图返回系统内存资源,但它调用错误的释放函数或调用适当的释放函数不正确。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不可信的指针- (822)
699年 (软件开发)>465年 (指针问题)>822年 (不可信的指针)
产品来自不受信任来源的获取一个值,将该值转换为一个指针,取消引用指针。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。超出范围的使用指针偏移量- (823)
699年 (软件开发)>465年 (指针问题)>823年 (超出范围使用指针偏移)
产品对一个有效的执行指针算术指针,但它使用一个偏移量,可以指出目的范围外的结果有效的内存位置的指针。不可信的指针偏移量
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。访问未初始化的指针- (824)
699年 (软件开发)>465年 (指针问题)>824年 (访问未初始化的指针)
产品访问或使用一个指针没有初始化。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过期的指针- (825)
699年 (软件开发)>465年 (指针问题)>825年 (过期的指针)
产品取消引用指针包含一个内存位置之前有效,但不再有效。悬空指针
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。权限的问题- (265)
699年 (软件开发)>265年 (权限问题)
这一类的弱点发生和处理不当,转让,或特权的管理。一种特权是一个代理的属性,比如一个用户。它可以让代理做通常是不允许的。例如,有特权允许代理执行维护功能,如重启电脑。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。创建chroot监狱不改变工作目录- (243)
699年 (软件开发)>265年 (权限问题)>243年 (创建chroot监狱不改变工作目录)
产品使用chroot()系统调用创建一个监狱,但不改变工作目录之后。这并不阻止访问文件之外的监狱。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。执行与不必要的特权- (250)
699年 (软件开发)>265年 (权限问题)>250年 (执行不必要的特权)
产品执行一个操作在一个特权级别高于所需的最低水平,这创造了新的弱点或者其他弱点放大的后果。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的权限分配- (266)
699年 (软件开发)>265年 (权限问题)>266年 (不正确的权限分配)
产品错误地分配一个特权到一个特定的演员,为参与者创造一个意想不到的的控制范围。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。特权定义了不安全的行为- (267)
699年 (软件开发)>265年 (权限问题)>267年 (与不安全的操作权限定义)
特定的权限、角色、功能或对可用于执行安全操作,没有目的,即使它被分配给正确的实体。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。特权链接- (268)
699年 (软件开发)>265年 (权限问题)>268年 (特权链接)
两个截然不同的权限、角色、功能或权利可以组合的方式允许一个实体执行安全操作,不允许没有组合。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。特权上下文切换错误- (270)
699年 (软件开发)>265年 (权限问题)>270年 (特权上下文切换错误)
产品不正确管理权限时切换不同的上下文中有不同的特权或领域的控制。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。最小特权违反- (272)
699年 (软件开发)>265年 (权限问题)>272年 (违反最小特权)
执行操作所需的高特权级别如chroot()执行手术后应立即下降。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。检查了不当的特权- (273)
699年 (软件开发)>265年 (权限问题)>273年 (检查了不当特权)
产品试图放弃特权但不检查或不正确检查下成功了。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当的处理权限不足- (274)
699年 (软件开发)>265年 (权限问题)>274年 (权限不足的处理不当)
产品不能处理或不正确处理足够的权限来执行一个操作,导致合成的弱点。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。处理不当的权限或权限不足- (280)
699年 (软件开发)>265年 (权限问题)>280年 (权限不足的处理不当或特权)
产品不能处理或错误处理当它有足够的权限来访问资源或功能作为其权限规定。这可能导致意想不到的代码路径,可能导致产品在一个无效的状态。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。信任边界违反- (501)
699年 (软件开发)>265年 (权限问题)>501年 (违反信任边界)
产品混合可信和不可信的数据在同一数据结构或结构化信息。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。没有super.clone clone()方法()- (580)
699年 (软件开发)>265年 (权限问题)>580年 (克隆()方法没有super.clone ())
产品包含一个克隆()方法不叫super.clone()来获取新对象。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的使用特权的api- (648)
699年 (软件开发)>265年 (权限问题)>648年 (不正确的使用特权api)
产品不符合API函数调用的要求,需要额外的特权。这可能允许攻击者获得特权导致功能不正确。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。随机数问题- (1213)
699年 (软件开发)>1213年 (随机数问题)
弱点这类软件系统相关的随机数生成。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。熵不足- (331)
699年 (软件开发)>1213年 (随机数问题)>331年 (熵)不足
产品使用一个算法或方案产生不足的熵,离开模式或集群的价值观比其他人更有可能发生。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。小空间的随机值- (334)
699年 (软件开发)>1213年 (随机数问题)>334年 (小空间的随机值)
可能的随机值的数量小于所需的产品,使它更容易受到暴力攻击。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的使用伪随机数生成器的种子(PRNG)- (335)
699年 (软件开发)>1213年 (随机数问题)>335年 (不正确的使用伪随机数生成器的种子(PRNG))
产品使用伪随机数发生器(PRNG)但不正确管理种子。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用密码地弱伪随机数生成器(PRNG)- (338)
699年 (软件开发)>1213年 (随机数问题)>338年 (使用密码地弱伪随机数发生器(PRNG))
产品使用伪随机数生成器(PRNG)在一个安全上下文,但是PRNG的算法不是密码地强。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。预测从可观察到的状态- (341)
699年 (软件开发)>1213年 (随机数问题)>341年 (从可观察到的状态预测)
基于观测数目或对象是可预测的,攻击者可以对系统或网络的状态,如时间、进程ID等等。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。从先前的值可以预测的精确值- (342)
699年 (软件开发)>1213年 (随机数问题)>342年 (可预测的精确值从以前的值)
一个精确的值或随机数可以精确预测通过观察之前的值。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。可预测的值从之前的值- (343)
699年 (软件开发)>1213年 (随机数问题)>343年 (可预测的值的范围从以前的值)
产品的随机数发生器产生一系列的值,观察时,可以用来推断未来价值相对小范围的可能性,可以生成的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用随机数发生器的可预测的算法- (1241)
699年 (软件开发)>1213年 (随机数问题)>1241年 (随机数字生成器中使用可预测的算法)
设备使用一个可预测的算法和生成一个伪随机数。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。资源锁定问题- (411)
699年 (软件开发)>411年 (资源锁定问题)
这一类的弱点有关处理不当的锁用于控制对资源的访问。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无限制的外部访问的锁- (412)
699年 (软件开发)>411年 (资源锁定问题)>412年 (无限制的外部访问锁)
产品正确检查锁的存在,但锁可以外部控制或影响演员以外的目的的控制范围。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不恰当的资源锁定- (413)
699年 (软件开发)>411年 (资源锁定问题)>413年 (不正确的资源锁定)
产品不锁或不正确锁资源时,产品必须具有独占访问的资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的锁止- (414)
699年 (软件开发)>411年 (资源锁定问题)>414年 (缺少锁检查)
产品不执行之前检查是否锁存在敏感操作资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。双重检查锁定- (609)
699年 (软件开发)>411年 (资源锁定问题)>609年 (双重检查锁定)
产品使用双重检查锁定访问资源没有显式同步的开销,但是锁是不够的。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。一个关键资源的多个锁- (764)
699年 (软件开发)>411年 (资源锁定问题)>764年 (一个关键资源的多个锁)
产品锁关键资源多次,导致系统中一个意想不到的状态。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。多个打开的关键资源- (765)
699年 (软件开发)>411年 (资源锁定问题)>765年 (一个关键资源的多个解锁)
产品打开一个关键资源多次,导致系统中一个意想不到的状态。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。解锁不锁定的资源- (832)
699年 (软件开发)>411年 (资源锁定问题)>832年 (资源不锁的解锁)
产品试图打开一个资源不上锁。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。死锁- (833)
699年 (软件开发)>411年 (资源锁定问题)>833年 (僵局)
产品包含多个线程或可执行的部分,正在等待对方释放必要的锁,导致死锁。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。资源管理错误- (399)
699年 (软件开发)>399年 (资源管理错误)
这一类的弱点不当相关系统资源的管理。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。外部控制文件名或路径- (73)
699年 (软件开发)>399年 (资源管理错误)>73年 (外部控制文件名或路径)
产品允许用户输入控制或影响路径或文件名中使用文件系统操作。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。意想不到的控制范围的曝光的文件描述符(文件描述符泄漏)- (403)
699年 (软件开发)>399年 (资源管理错误)>403年 文件描述符(接触意想不到的控制范围(文件描述符泄漏))
过程不敏感的文件描述符调用子进程之前,允许孩子使用这些描述符执行未经授权的I / O操作。文件描述符泄漏
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。足够的资源池- (410)
699年 (软件开发)>399年 (资源管理错误)>410年 (足够的资源池)
产品的资源池处理高峰需求不够大,攻击者可以阻止其他人访问资源利用(相对)大量的资源要求。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用外部控制输入选择类或代码(“不安全的反思”)- (470)
699年 (软件开发)>399年 (资源管理错误)>470年 (使用外部控制输入选择类或代码(“不安全的反思”))
产品使用外部输入和反射来选择使用哪个类或代码,但这并不足够防止输入选择不当或代码的类。反射注入
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。反序列化的数据不可信- (502)
699年 (软件开发)>399年 (资源管理错误)>502年 (反序列化不可信的数据)
产品反序列化不可信数据不充分验证结果数据将是有效的。打包,包酸洗,unpicklePHP对象注入
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。悬空数据库游标(光标注入)- (619)
699年 (软件开发)>399年 (资源管理错误)>619年 (悬空数据库游标(光标注入))
如果不能正常关闭数据库游标,然后它可能成为访问其他用户同时保留最初分配相同的特权,让光标“悬空”。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制文件和其他资源的名称- (641)
699年 (软件开发)>399年 (资源管理错误)>641年 (不当限制的文件和其他资源)
产品结构使用输入文件的名称或其他资源的上游组件,但这并不限制或者错误地限制产生的名字。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。与重复使用多个资源标识符- (694)
699年 (软件开发)>399年 (资源管理错误)>694年 (与重复使用多个资源标识符)
产品使用多个资源,可以有相同的标识符,需要在一个上下文惟一标识符。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。无效的指针或引用- (763)
699年 (软件开发)>399年 (资源管理错误)>763年 (释放无效的指针或引用)
产品试图返回系统内存资源,但它调用错误的释放函数或调用适当的释放函数不正确。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。资源配置没有限制或节流- (770)
699年 (软件开发)>399年 (资源管理错误)>770年 (资源配置没有限制或节流)
产品分配一个可重用的资源或一组资源代表一个演员不强加任何限制的大小或数量的可分配的资源,违反安全策略的演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。缺少参考活动分配资源- (771)
699年 (软件开发)>399年 (资源管理错误)>771年 (缺少参考活动分配资源)
产品不正确维护引用一个已分配的资源,防止资源被回收。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪后释放资源的有效寿命- (772)
699年 (软件开发)>399年 (资源管理错误)>772年 (失踪后释放资源有效的一生)
产品不其有效寿命结束后释放资源,即。后,资源不再需要。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。预期寿命期间过早释放资源- (826)
699年 (软件开发)>399年 (资源管理错误)>826年 (预期寿命期间过早释放资源)
产品发布资源,还打算使用自己或另一个演员。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用未初始化资源- (908)
699年 (软件开发)>399年 (资源管理错误)>908年 (使用未初始化的资源)
产品使用或访问资源尚未初始化。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。失踪的初始化资源- (909)
699年 (软件开发)>399年 (资源管理错误)>909年 (资源的缺失的初始化)
产品不初始化一个临界资源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用过期的文件描述符- (910)
699年 (软件开发)>399年 (资源管理错误)>910年 (使用过期的文件描述符)
产品使用或访问一个文件描述符后关闭。的文件描述符
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不更新的引用计数- (911)
699年 (软件开发)>399年 (资源管理错误)>911年 (引用计数的不当更新)
产品使用引用计数来管理资源,但它不更新或不正确地更新引用计数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当Dynamically-Identified变量的控制- (914)
699年 (软件开发)>399年 (资源管理错误)>914年 (Dynamically-Identified不当控制变量)
产品不适当限制阅读或写作dynamically-identified变量。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。控制不当修改动态确定对象的属性- (915)
699年 (软件开发)>399年 (资源管理错误)>915年 (控制不当修改动态确定对象的属性)
产品从一个上游组件接收输入指定多个属性,属性,或字段初始化或更新的对象,但这并不正确控制哪些属性可以修改。大量的任务AutoBindingPHP对象注入
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制电力消耗- (920)
699年 (软件开发)>399年 (资源管理错误)>920年 (功耗的不当限制)
的产品环境中运营的权力是有限的资源,不能自动补充,但产品不合理限制的权力,其操作使用。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不安全的默认初始化资源- (1188)
699年 (软件开发)>399年 (资源管理错误)>1188年 (不安全的默认初始化资源)
产品初始化或集资源管理员默认的本意是要改变的,但默认是不安全的。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。信号错误- (387)
699年 (软件开发)>387年 (信号错误)
这一类的弱点有关信号的处理不当。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。信号处理器竞态条件- (364)
699年 (软件开发)>387年 (信号错误)>364年 (信号处理程序竞争条件)
产品使用一个信号处理程序,引入了竞争条件。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。危险信号处理器不敏感操作期间禁用- (432)
699年 (软件开发)>387年 (信号错误)>432年 (危险信号处理器不敏感操作期间禁用)
产品使用一个信号处理程序,国家与其他信号处理程序,但这并不正确面具或阻止这些信号处理程序被调用而原始信号处理程序仍在运行。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。这不是Asynchronous-Safe信号处理器与功能- (828)
699年 (软件开发)>387年 (信号错误)>828年 (与功能不是Asynchronous-Safe信号处理器)
产品定义了一个包含代码序列信号处理器不是asynchronous-safe,即。的功能是不可重入的,也可以被打断。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。信号处理函数相关的多个信号- (831)
699年 (软件开发)>387年 (信号错误)>831年 (信号处理函数相关的多个信号)
产品定义了一个函数,用来处理程序不止一个信号。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。状态问题- (371)
699年 (软件开发)>371年 (国家问题)
这一类的弱点有关系统状态的管理不当。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。外部控制系统或配置设置(15)
699年 (软件开发)>371年 (国家问题)>15 (外部控制系统或配置设置)
一个或多个系统设置或外部配置元素可以由用户控制。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不完整的内部状态的区别- (372)
699年 (软件开发)>371年 (国家问题)>372年 (不完整的内部状态的区别)
产品不正确确定哪些状态,使其承担在各州X,而实际上它是Y,导致执行不正确的操作的安全相关的方式。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。将可变对象传递给一个不可信的方法- (374)
699年 (软件开发)>371年 (国家问题)>374年 (可变对象传递给一个不可信的方法)
产品发送似乎与可变数据作为参数一个方法或函数。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。返回一个可变对象,一个不受信任的调用者- (375)
699年 (软件开发)>371年 (国家问题)>375年 (返回一个可变对象,一个不受信任的调用方)
发送似乎与可变数据的返回值可能会导致调用函数被修改或删除的数据。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。意想不到的可重入调用不可重入的代码通过嵌套调用- (1265)
699年 (软件开发)>371年 (国家问题)>1265年 (不可重入的意想不到的可重入调用代码通过嵌套调用)
不可重入代码的执行期间,无意中生产的产品执行调用不可重入的嵌套调用的代码。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。字符串错误- (133)
699年 (软件开发)>133年 (字符串错误)
这一类的弱点与字符串的创建和修改。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。使用外部控制的格式字符串- (134)
699年 (软件开发)>133年 (字符串错误)>134年 (使用外部控制的格式字符串)
产品使用一个函数,它接受一个格式字符串作为参数,但格式字符串来自外部源。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。多字节字符串长度不正确的计算- (135)
699年 (软件开发)>133年 (字符串错误)>135年 (多字节字符串长度不正确的计算)
产品不正确计算的长度可以包含宽或多字节字符的字符串。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。使用错误的操作符的字符串比较- (597)
699年 (软件开发)>133年 (字符串错误)>597年 (使用错误的操作符字符串比较)
产品使用错误的操作符比较字符串时,比如使用“= =”当.equals()方法应该使用。
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。类型错误- (136)
699年 (软件开发)>136年 (类型错误)
这类缺陷是由于不恰当的数据类型转换或处理不当的多个数据类型。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不正确的数值类型之间的转换- (681)
699年 (软件开发)>136年 (类型错误)>681年 (不正确的数值类型之间的转换)
当从一个数据类型转换到另一个,比如长整数,数据可以省略或翻译的方式产生意想不到的价值。如果使用生成的值在一个敏感的情况下,就可能发生危险的行为。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。访问资源的使用不兼容的类型(类型混淆)- (843)
699年 (软件开发)>136年 (类型错误)>843年 (访问资源的使用不兼容的类型(类型混淆))
产品分配和初始化一个指针等资源,对象,或变量使用一个类型,但后来访问该资源使用与原始类型不兼容的类型。对象类型的困惑
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。用户界面的安全问题- (355)
699年 (软件开发)>355年 (用户界面安全问题)
这一类的弱点或相关介绍了用户界面(UI)。
* 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。明文存储敏感信息的GUI- (317)
699年 (软件开发)>355年 (用户界面安全问题)>317年 (明文存储敏感信息的GUI)
该产品将敏感信息存储在GUI中明文。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。产品用户界面不警告用户不安全的行为- (356)
699年 (软件开发)>355年 (用户界面安全问题)>356年 (产品UI不警告用户的不安全行为)
产品的用户界面不警告用户之前代表该用户进行不安全的行动。这使得攻击者更容易欺骗用户造成损害他们的系统。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。UI不足警告危险的操作- (357)
699年 (软件开发)>355年 (用户界面安全问题)>357年 (UI不足警告危险的操作)
用户界面提供了一个警告用户关于危险或敏感操作,但警告并不明显足以引起注意。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。未实现的或不支持的UI功能- (447)
699年 (软件开发)>355年 (用户界面安全问题)>447年 (未执行的或不支持的功能UI)
安全特性的UI功能似乎是支持和给用户反馈表明,它是支持,但潜在的功能还没有实现。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。过时的功能界面- (448)
699年 (软件开发)>355年 (用户界面安全问题)>448年 (UI)过时的特性
UI功能是过时的和产品不警告用户。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。UI执行错误的行动- (449)
699年 (软件开发)>355年 (用户界面安全问题)>449年 (UI执行错误的动作)
UI执行错误的操作对用户的请求。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。用户界面输入的多种解释- (450)
699年 (软件开发)>355年 (用户界面安全问题)>450年 (界面输入的多种解释)
UI的有多个解释用户输入但不提示用户选择解释越不安全。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。丢失的密码字段屏蔽- (549)
699年 (软件开发)>355年 (用户界面安全问题)>549年 (丢失密码字段屏蔽)
产品没有面具的密码在输入,增加潜在的攻击者观察和获取密码。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不足的视觉区别Homoglyphs呈现给用户- (1007)
699年 (软件开发)>355年 (用户界面安全问题)>1007年 (视觉区别不足Homoglyphs呈现给用户)
产品显示信息或用户标识符,但显示机制不方便用户区分类似或相同视觉符号(homoglyphs),这可能会造成用户误解字形和执行一个意想不到的,不安全的行动。同形异义字攻击
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当限制呈现UI层或帧- (1021)
699年 (软件开发)>355年 (用户界面安全问题)>1021年 (呈现UI层或帧的不当限制)
web应用程序不限制或错误地限制帧对象或UI层,属于另一个应用程序或域,从而导致用户困惑的用户交互界面。“点击劫持”UI纠正攻击Tapjacking
+ 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。用户会话的错误- (1217)
699年 (软件开发)>1217年 (用户会话错误)
这一类相关会话管理的弱点。经常这些处理信息或状态对每个用户及其访问权限为多个请求的持续时间。这个类别中的弱点可能导致退化的会话管理的质量如果不解决。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。暴露错误的会话的数据元素- (488)
699年 (软件开发)>1217年 (用户会话错误)>488年 数据元素(接触错误的会话)
产品之间没有充分执行边界各州不同的会话,导致数据提供,或使用错误的会话。
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。会话过期不足- (613)
699年 (软件开发)>1217年 (用户会话错误)>613年 (不足会话过期)
根据WASC,“会话过期不足是当一个网站允许攻击者重用旧会话凭证或会话id进行授权。”
* 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。不当行为的执行工作流- (841)
699年 (软件开发)>1217年 (用户会话错误)>841年 (不当行为工作流的执行)
不止一个的产品支持会话行为必须由一个演员表演,但这并不正确确保演员执行所需的行为序列。
+笔记

其他

顶级类别一般在这种观点代表理解在软件开发领域/条款,并旨在帮助用户识别潜在弱点有关。有可能相同的弱点存在于多个不同的类别。

其他

这一观点试图呈现一个简单而直观的方式的弱点。因此它的目标一个抽象层次。重要的是要意识到,并不是每个CWE将代表这一观点。高层阶级弱点和低级变异弱点大多忽略了。然而,通过探索包含的弱点,和以下定义的关系,一个人可以找到这些高和低水平的弱点。
+查看指标
连续波在这个视图 总连续波
弱点 419年 933年
类别 40 352年
的观点 0 47
459年 1332年
+内容的历史
+提交
提交日期 提交者 组织
2008-09-09 CWE内容团队 主教法冠
+修改
修改日期 修饰符 组织
2017-01-19 CWE内容团队 主教法冠
更新Maintenance_Notes、人际关系
2017-05-03 CWE内容团队 主教法冠
更新的关系
2017-11-08 CWE内容团队 主教法冠
更新Maintenance_Notes、人际关系
2018-03-27 CWE内容团队 主教法冠
更新描述,View_Audience
2020-02-24 CWE内容团队 主教法冠
更新描述、名称、Other_Notes关系,View_Audience
2020-08-20 CWE内容团队 主教法冠
更新的关系
+以前的条目名称
改变日期 以前的条目名称
2020-02-24 开发的概念
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日