CWE-124:缓冲区承保(“缓冲底流”)
查看自定义信息:
该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
与观点“研究概念”相关(CWE-1000)
与“软件开发”视图相关(CWE-699)
该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。
语言 C(不确定的患病率) C ++(不确定的患病率)
该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
示例1 在以下C/C ++示例中,使用实用程序函数来修剪字符串的尾随空格。该函数将输入字符串复制到本地字符串,并使用一个while语句通过向后移动带有nul字符的字符串和覆盖空格来删除后线。
(不良代码)
示例语言:C
char * trimtrailingwhitespace(char * strmessage,int length){
char *retmessage;
char *消息= malloc(sizeof(char) *(长度+1)); //将输入字符串复制到临时字符串 char消息[长度+1]; int索引; for(index = 0; index <长度; index ++){
消息[index] = strmessage [index]; }消息[index] ='\ 0'; //修剪尾巴 int len = index-1; while(isspace(消息[len])){
消息[len] ='\ 0'; }伦 - ; //返回字符串而无需落后空间 retmessage =消息; 返回retmessage; 但是,如果输入字符串包含所有空格,则此功能可能会导致缓冲区承保。在某些系统上,while语句将向后移动字符串的开头,并将在本地缓冲区边界外的地址上调用isspace()函数。 示例2 以下是可能导致缓冲区承保的代码的示例,如果Find()返回负值以表明在SRCBUF中找不到CH:
(不良代码)
示例语言:C
int main(){
... }strncpy(destbuf,&srcbuf [find(srcbuf,ch)],1024); ... 如果SRCBUF的索引在某种程度上是在用户控制下,则是任意写入的条件。
此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
关系
这可能是由于多个错误引起的,包括不良的偏移量或阵列索引,该索引在缓冲区开始之前减少(请参阅CWE-129)。
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |