描述
产品来自不受信任来源的获取一个值,将该值转换为一个指针,取消引用指针。
扩展描述
攻击者可以供应一个指针产品不期望的内存位置。如果写操作的指针的引用时,临界状态变量的攻击可能允许修改,导致崩溃,或执行代码。如果读的非关联化操作,那么这次袭击可能会让阅读的敏感数据,导致崩溃,或者设置一个变量,一个意想不到的价值(因为价值将从一个意想不到的读取内存位置)。
有一些变异的弱点,包括但并不限于:
不可信的值直接调用的函数调用。
在操作系统内核或司机哪里有“用户”之间的边界和特权内存空间,一个不可信的指针可能进入一个API或系统调用(参见cwe - 781 对于这样的一个例子)。
无意中接受的值从一个不可信的控制范围时没有被接受作为输入。这可能发生在最初开发的代码是由单个用户在非联网环境中,然后代码移植到或接触到网络环境。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然
类型
ID
的名字
ChildOf
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。
119年
不当的操作限制的范围内一个内存缓冲区
光束
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。
781年
不当的地址验证的IOCTL METHOD_NEITHER I / O控制代码
CanPrecede
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。
125年
禁止入内的读
CanPrecede
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。
787年
禁止入内的写
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“软件开发”(cwe - 699)
自然
类型
ID
的名字
MemberOf
类别——CWE条目包含一组其他条目,共享一个共同的特点。
465年
指针的问题
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”方案及质量的措施(2020)”(CWE-1305)
自然
类型
ID
的名字
ChildOf
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。
119年
不当的操作限制的范围内一个内存缓冲区
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”方案及数据保护措施”(cwe - 1340)
自然
类型
ID
的名字
ChildOf
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。
119年
不当的操作限制的范围内一个内存缓冲区
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围
影响
可能性
保密
如果不可信的指针用于读操作,攻击者可以读取敏感的部分记忆。
可用性
如果不可信的指针引用的内存位置访问产品,或指向的位置“畸形”或大于预期的读或写操作,应用程序可能会意外终止。
完整性 保密 可用性
如果不可信的指针在函数调用中使用,或指向意想不到的数据写操作,那么代码执行可能是可能的。
观察到的例子
参考
描述
包中的消息传递框架解释值为指针,导致崩溃。
贴上一个“混乱”问题,也称为“陈旧的指针”。However, the bug ID says "contents are simply interpreted as a pointer... renderer ordinarily doesn't supply this pointer directly". The "handle" in the untrusted area is replaced in one function, but not another - thus also, effectively, exposure to wrong sphere (
cwe - 668 )。
不可信的废弃使用非法的构造函数。
一个错误代码错误检查和解释为一个指针,导致崩溃。
一个不可信的价值从数据包并直接获得被称为作为一个函数指针,导致代码执行。
在多媒体软件允许非法属性“解封”一个不可信的指针。
ActiveX控制安全软件接受一个参数,都被假定为一个指针初始化。
电子表格软件对某些记录值,导致“用户控制指针”(可能是不可信的抵消,而不是不可信的指针)。
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
笔记
术语
很多弱点有关取消引用指针下降的通项下“内存泄露”或“内存安全。”As of September 2010, there is no commonly-used terminology that covers the lower-level variants.
维护
错误的取消引用指针之间有密切的关系和相关弱点缓冲区操作。可能没有足够的社区对这些关系的协议。需要进一步的研究来确定当这些关系链,复合材料,角度/分层,或其他类型的关系。截至2010年9月,大多数被捕获的关系链。