CWE

普遍的弱点

社区开发的软件和硬件弱点类型清单

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

CWE-606:未检查的循环条件输入

弱点ID:606
抽象:根据
结构:简单的
查看自定义信息:
+描述
该产品无法正确检查用于循环条件的输入,由于过度循环,可能导致拒绝服务或其他后果。
+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 1284 输入中指定数量的验证不当
canpreceede 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 834 过度迭代
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“软件开发”视图相关(CWE-699)
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1215 数据验证问题
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
执行
+常见后果
部分帮助该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
范围 影响 可能性
可用性

技术影响:DOS:资源消耗(CPU)

+示例的例子

示例1

以下示例证明了弱点。

(不良代码)
示例语言:C
无效迭代(int n){
int i;
for(i = 0; i foo();
}
}
void itseratefoo()
{
unsigned int num;
scanf(“%u”,&num);
迭代(num);
}

示例2

在下面的C/C ++示例中,方法ProcessMessageFromSocket()将从插座中获取消息,放入缓冲区中,并将缓冲区的内容解析为包含消息长度和消息主体的结构。一个用于循环的A用于将消息主体复制到本地字符串中,该字符串将传递给另一种处理方法。

(不良代码)
示例语言:C
int processMessageFromsocket(int socket){
int成功;

char buffer [buffer_size];
char消息[message_size];

//从插座获取消息并将存储到缓冲区中

//忽略buffer> buffer_size的可能性
if(getMessage(套接字,缓冲区,buffer_size)> 0){

//将缓冲区的内容放入消息结构中
exmessage *msg = recastBuffer(buffer);

//将消息主体复制到字符串以进行处理
int索引;
for(index = 0; index msglength; index ++){
消息[index] = msg-> msgbody [index];
}
消息[index] ='\ 0';

//过程消息
成功= ProcessMessage(消息);
}
返回成功;
}

但是,从结构中的消息长度变量用作结束for循环的条件,而无需验证消息长度可准确反映消息主体的长度(CWE-606)。这可能会导致缓冲区过度阅读(CWE-125)如果消息长度变量表示长度的长度大于消息主体的大小,则从缓冲区的界限以外的读取。CWE-130)。

+潜在的缓解

阶段:实施

请勿在循环条件下使用用户控制的数据。

阶段:实施

执行输入验证。
+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 738 证书C安全编码标准(2008)第5章 - 整数(INT)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 872 CERT C ++安全编码第04节 - 整数(INT)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 994 SFP辅助群集:污染输入到变量
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1131 CISQ质量措施(2016年) - 安全性
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1308 CISQ质量措施 - 安全性
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 1340 CISQ数据保护措施
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
软件故障模式 SFP25 污染输入到变量
OMG ASCSM ASCSM-CWE-606
+参考
[Ref-62] Mark Dowd,John McDonald和Justin Schuh。“软件安全评估的艺术”。第7章,“循环结构”,第327页。第一版。艾迪生·卫斯理。2006。
[Ref-962]对象管理组(OMG)。“自动源代码安全度量(ASCSM)”。ASCSM-CWE-606。2016-01。<http://www.omg.org/spec/ascsm/1.0/>。
+内容历史记录
+提交
提交日期 提交者 组织
2007-05-07 匿名工具供应商(在NDA下)
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的势_METIGATIONS,time_of_introduction
2008-09-08 CWE内容团队 MITER
更新的关系,分类_ mappings,类型
2008-11-24 CWE内容团队 MITER
更新的关系,分类_mappings
2009-05-27 CWE内容团队 MITER
更新了示范_examples
2009-10-29 CWE内容团队 MITER
更新的关系
2011-03-29 CWE内容团队 MITER
更新的示范_examples,关系
2011-06-01 CWE内容团队 MITER
更新的common_cconsquences
2011-09-13 CWE内容团队 MITER
更新的关系,分类_mappings
2012-05-11 CWE内容团队 MITER
更新的引用,关系
2012-10-30 CWE内容团队 MITER
更新的势_MINEIGATIONS
2014-07-30 CWE内容团队 MITER
更新的关系,分类_mappings
2017-11-08 CWE内容团队 MITER
更新的示范_examples,gualomy_mappings
2019-01-03 CWE内容团队 MITER
更新的参考,关系,分类_mappings
2020-02-24 CWE内容团队 MITER
更新的关系
2020-06-25 CWE内容团队 MITER
更新的示范_examples,描述,关系
2020-08-20 CWE内容团队 MITER
更新的关系
2020-12-10 CWE内容团队 MITER
更新的关系
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日