cwe - 170:不当零终止
视图定制的信息:
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
相关观点“软件开发”(cwe - 699)
相关观点“七有害的王国”(cwe - 700)
该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。
语言 C患病率(待定) c++患病率(待定)
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
示例1 下面的代码从cfgfile读取,复制输入inputbuf使用strcpy ()。代码错误地假定inputbuf总是包含一个空终结者。
(坏的代码)
例如语言:C
#定义MAXLEN 1024
… char * pathbuf [MAXLEN]; … 读(cfgfile inputbuf MAXLEN);/ /不空终止 strcpy (pathbuf inputbuf);/ /需要零终止输入 … 上面的代码将正确的行为如果磁盘上的数据读取cfgfile以空字符结尾。但是,如果攻击者能够修改这个输入,使它不包含预期的NULL字符,对strcpy()的调用将继续复制从内存直到它遇到任意NULL字符。这可能会溢出目的地缓冲区,如果攻击者可以控制inputbuf后内存的内容,可以把应用程序容易缓冲区溢出攻击。 示例2 在以下代码中,指向()扩展符号链接的名称存储在路径名,并绝对路径到缓冲区。计算得到的值的长度然后使用strlen ()。
(坏的代码)
例如语言:C
字符缓冲区(MAXPATH);
… 指向路径名,但,MAXPATH); int长度= strlen (buf); … 上面的代码将不会总是正确的行为指向()不添加一个空字节缓冲区。指向()将停止复制字符缓冲区的最大大小之后达到避免缓冲区溢出,这将离开价值但不以空字符结尾。在这种情况下,strlen()将继续遍历内存直到它遇到一个任意NULL字符栈,进一步导致长度值远远大于字符串的大小。指向()返回的字节数复制,但是当这个返回值表示缓冲区大小是一样的(在这种情况下MAXPATH),是不可能知道的路径名正是许多字节长,还是指向()截断的名字以避免溢出缓冲区。在测试中,像这样的漏洞可能不会了,因为未使用的缓冲区的内容和记忆之后它可能是零,从而导致strlen()似乎是正确的行为。 示例3 虽然下面的例子不是可利用的,它提供了一个很好的例子如何忽略null或错误的,即使在“安全”功能使用:
(坏的代码)
例如语言:C
# include < stdio . h >
# include < string.h > int main () { char longString[] = "字符串,表示无”; char shortString [16]; strncpy (shortString longString 16); printf (" shortString中的最后一个字符是:% c (% 1 $ x) \ n”, shortString [15]); 返回(0); 上面的代码给以下输出:“shortString中的最后一个字符是:n (6 e)”。所以,shortString数组不以空字符结束,尽管“安全”字符串函数strncpy()使用。原因是strncpy()不impliciitly添加一个空字符的字符串长度当源等于或超过所提供的尺寸。
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
的关系
因素:这通常是合成从“从一开始”等缺点错误,但它可以主要侵犯边界条件如缓冲区溢出。在缓冲区溢出,它可以作为一个扩张器assumed-immutable数据。
的关系
重叠失踪输入终结者。
适用的平台 从概念上讲,这不仅适用于C语言;任何语言或陈述涉及终结者可以有这种类型的问题。 维护
目前描述,这个条目是更像一个类别,而不是一个弱点。
更多的信息是可用的,请选择一个不同的过滤器。
|
使用常见的弱点枚举(CWE)和相关的引用从这个网站的使用条款。CWE赞助的美国国土安全部(DHS)网络和基础设施安全机构(CISA)和管理的国土安全系统工程和发展研究所这是由(HSSEDI)manbetx客户端首页(斜方)。版权©2006 - 2023,斜方公司。manbetx客户端首页CWE、水煤浆、CWRAF, CWE标志是斜方公司的商标。manbetx客户端首页 |