CWE-606:未检查的循环条件输入
查看自定义信息:
该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
与观点“研究概念”相关(CWE-1000)
与“软件开发”视图相关(CWE-699)
该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
示例1 以下示例证明了弱点。
(不良代码)
示例语言:C
无效迭代(int n){ }
int i; }for(i = 0; i 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
消息[index] = msg-> msgbody [index]; }消息[index] ='\ 0'; //过程消息 成功= ProcessMessage(消息); 返回成功; 但是,从结构中的消息长度变量用作结束for循环的条件,而无需验证消息长度可准确反映消息主体的长度(CWE-606)。这可能会导致缓冲区过度阅读(CWE-125)如果消息长度变量表示长度的长度大于消息主体的大小,则从缓冲区的界限以外的读取。CWE-130)。
此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |