CWE

常见的弱点枚举

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

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

cwe - 785:使用操纵路径的函数没有Maximum-sized缓冲区

弱点ID: 785
抽象:变体
结构:简单的
视图定制的信息:
+描述
产品规范路径或文件名调用一个函数,但它提供了一个输出缓冲区,小于最大可能的大小,如PATH_MAX。
+扩展描述
传递一个inadequately-sized输出缓冲区路径操作函数会导致缓冲区溢出。这些功能包括realpath(),指向(),PathAppend(),等等。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 120年 缓冲区复制没有检查输入的大小(经典的缓冲区溢出)
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 676年 潜在的危险函数的使用
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“七有害的王国”(cwe - 700)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 20. 不正确的输入验证
+背景细节
Windows提供了大量的实用功能,操作缓冲区包含文件名。在大多数情况下,返回的结果是在作为输入缓冲区传递。(通常是文件名修改。)大多数功能需要至少MAX_PATH缓冲区字节长度,但是你应该单独检查每个函数的文档。如果缓冲不够大存储操作的结果,会发生缓冲区溢出。
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

C患病率(待定)

c++患病率(待定)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
完整性
保密
可用性

技术的影响:修改内存;执行未经授权的代码或命令;DoS:崩溃,退出或重新启动

+示范例子

示例1

在本例中,函数创建一个名为“产出\ <名称>”的目录在当前目录中,并返回一个基于堆的副本的名称。

(坏的代码)
例如语言:C
char * createOutputDirectory (char *名称){
char outputDirectoryName [128];
如果(getCurrentDirectory(128年,outputDirectoryName) = = 0) {
返回null;
}
如果(!PathAppend (outputDirectoryName,“输出”)){
返回null;
}
如果(!PathAppend (outputDirectoryName、名称)){

返回null;
}
如果(SHCreateDirectoryEx (outputDirectoryName空,空)! = ERROR_SUCCESS) {

返回null;
}
返回第6行的outputDirectoryName);
}

对于大多数的值当前目录名称参数,该函数将正常工作。然而,如果名称参数特别长,第二个调用PathAppend()可能会溢出outputDirectoryName缓冲区,而小于MAX_PATH字节。

+潜在的缓解措施

实施阶段:

总是指定输出缓冲区足够大来处理路径操作函数的最大大小可能的结果。
+影响资源
  • 内存
  • 文件或目录
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 972年 SFP二级集群:错误的字符串扩张
+笔记

维护

这个条目是比大多数条目的抽象级别要低得多,因为它是函数专用。它也有明显的重叠与其他条目,可以随视角。例如,不正确的使用可能引发基于堆栈溢出(cwe - 121)或基于堆溢出(cwe - 122)。CWE团队还没有决定如何处理这些条目。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
7有害的王国 经常滥用:文件系统
软件故障模式 SFP9 错误的字符串扩张
+引用
卡特里娜REF-6 Tsipenyuk,布莱恩象棋和加里·麦克格劳博士。“七有害的王国:分类软件安全错误”。NIST研讨会软件安全保障技术和度量工具。NIST的。2005-11-07。<https://samate.nist.gov/SSATTM_Content/papers/Seven%20Pernicious%20Kingdoms%20-%20Taxonomy%20of%20Sw%20Security%20Errors%20-%20Tsipenyuk%20-%20Chess%20-%20McGraw.pdf>。
+内容的历史
+提交
提交日期 提交者 组织
2009-07-27 7有害的王国
注意:这个日期条目首次出版时反映。草案版本的这个条目被提供给CWE社区的成员和修改之前首次出版。
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Time_of_Introduction
2008-08-01 股的分析
添加/更新白盒定义
2008-09-08 CWE内容团队 主教法冠
更新Applicable_Platforms、关系、Other_Notes Taxonomy_Mappings
2009-05-27 CWE内容团队 主教法冠
更新Demonstrative_Examples
2009-07-17 股的分析
改善了White_Box_Definition
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新的关系
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Affected_Resources Demonstrative_Examples,关系,White_Box_Definitions
2020-02-24 CWE内容团队 主教法冠
更新引用关系
2021-03-15 CWE内容团队 主教法冠
更新Maintenance_Notes
2023-01-31 CWE内容团队 主教法冠
更新描述
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日