CWE

常见的弱点枚举

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

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

cwe - 674:不受控制的递归

弱点ID: 674
抽象:
结构:简单的
视图定制的信息:
+描述
产品不适当控制的递归,消耗过多的资源,如分配的内存或程序堆栈。
+替代条款
堆栈疲惫
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 834年 过多的迭代
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 776年 不当限制递归实体引用dtd (XML实体扩张)
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
自然 类型 ID 的名字
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 776年 不当限制递归实体引用dtd (XML实体扩张)
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现 不受控制的递归往往由于不当或失踪的条件
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

类:不是特定于语言的患病率(待定)

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

技术的影响:DoS:资源消耗(CPU);DoS:资源消耗(内存)

资源包括CPU、内存和堆栈内存可以迅速消耗或筋疲力尽,最终导致退出或崩溃。
保密

技术的影响:读取应用程序数据

在某些情况下,应用程序的翻译可能会杀死一个进程或线程,似乎消耗太多的资源,如使用PHP的memory_limit设置。当翻译杀死进程/线程时,它可能会报告一个错误包含详细的信息,例如应用程序的安装路径。
+示范例子

示例1

在这个例子中存在一个错误代码flg从未被称为中包含的退出条件。这导致函数调用本身一遍又一遍,直到栈是筋疲力尽了。

(坏的代码)
例如语言:C
空白do_something_recursive (int flg)
{
…/ /做一些实际工作,但是浮动是修改的的价值
如果(flg) {do_something_recursive(浮动);}/ / flg总是真实的,永远不会被修改这个调用将继续,直到堆栈爆炸
}
int标志= 1;/ /设置为TRUE
do_something_recursive(国旗);

注意的唯一区别好的和坏的例子是递归的旗帜将会改变价值,导致递归调用返回。

(好的代码)
例如语言:C
空白do_something_recursive (int flg)
{
…/ /做一些真正的在这里工作
/ /修改flg完成条件的价值
如果(flg) {do_something_recursive(浮动);}/ /返回焦距变化时为0
}
int标志= 1;/ /设置为TRUE
do_something_recursive(国旗);
+观察到的例子
参考 描述
深度嵌套数组引发堆栈疲惫。
科学家将指针创建无限循环和合成堆栈的疲劳。
Javascript应用程序意外更改输入的方式阻止一个递归调用检测退出条件。
试图恢复损坏的XML文件无限递归保护计数器并不总是增加丢失的退出条件。
usb听觉司机的描述符代码解析允许无限递归栈疲惫。
+潜在的缓解措施

实施阶段:

确保将所有逻辑条件下达到结束条件。结束条件可能包括测试对递归的深度和退出错误如果递归太深。结束条件的复杂性导致这一行动的有效性。

有效性:温和

实施阶段:

增加堆栈大小。

有效性:有限

注意:增加堆栈大小可能只是一个临时措施,因为栈通常仍然不是非常大,攻击者可能仍然容易导致out-of-stack错。
+影响资源
  • CPU
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 730年 OWASP十大2004类别A9 -拒绝服务
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 884年 CWE横截面
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 985年 SFP二级集群:无限制的消耗
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 1003年 弱点简化映射的漏洞发布
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1129年 方案》(2016)——可靠性质量措施
+分类法映射
映射分类名称 节点ID 适合 映射节点名
OWASP十大2004 A9 CWE更具体 拒绝服务
软件故障模式 SFP13 无限制的消耗
OMG ASCRM ASCRM -cwe - 674
+引用
(ref - 961)对象管理组织(OMG)。“自动源代码可靠性措施(ASCRM)”。ascrm - cwe - 674。2016 - 01。<http://www.omg.org/spec/ASCRM/1.0/>。
+内容的历史
+提交
提交日期 提交者 组织
2008-04-11 CWE内容团队 主教法冠
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Potential_Mitigations Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2009-03-10 CWE内容团队 主教法冠
更新Related_Attack_Patterns
2011-03-29 CWE内容团队 主教法冠
更新的关系
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新的关系
2012-10-30 CWE内容团队 主教法冠
更新Potential_Mitigations
2013-02-21 CWE内容团队 主教法冠
更新的关系
2014-02-18 CWE内容团队 主教法冠
更新Related_Attack_Patterns
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms、人际关系
2019-01-03 CWE内容团队 主教法冠
更新引用,Related_Attack_Patterns、关系、Taxonomy_Mappings
2019-06-20 CWE内容团队 主教法冠
更新Related_Attack_Patterns、关系类型
2020-02-24 CWE内容团队 主教法冠
更新Related_Attack_Patterns、人际关系
2020-12-10 CWE内容团队 主教法冠
更新Demonstrative_Examples、描述Modes_of_Introduction、Observed_Examples Potential_Mitigations Time_of_Introduction
2021-03-15 CWE内容团队 主教法冠
更新Potential_Mitigations
2022-10-13 CWE内容团队 主教法冠
更新Demonstrative_Examples
2023-01-31 CWE内容团队 主教法冠
更新描述、人际关系
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日