cwe - 758:依赖未定义不明,或实现定义的行为
描述
产品使用API函数,数据结构,或其他实体的方式依赖于属性并不总是保证持有实体。
扩展描述
这可能导致合成的弱点时所需的属性变化,例如当产品移植到不同的平台或如果一个交互错误( cwe - 435)的发生。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
支柱——一个弱点是最抽象类型的弱点和代表一个主题类/基地/变体相关弱点。支柱是不同于一个类别作为支柱技术上仍然是一种弱点,描述了一个错误,而一个类别代表一个共同特征用于组相关的东西。 |
710年 |
不当坚持编码标准 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
474年 |
使用的功能不一致的实现 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
562年 |
返回堆栈变量的地址 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
587年 |
分配一个固定地址的指针 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
588年 |
植物体内非结构性指针访问的孩子 |
ParentOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
1038年 |
不安全的自动优化 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1102年 |
依赖计算机有关数据表示 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1103年 |
平台相关的第三方组件的使用 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1105年 |
机器特有的功能的封装不足 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
观察到的例子
参考 |
描述 |
|
改变在C编译器的行为导致程序取决于合成缓冲区溢位C标准中未定义的行为。 |
弱点Ordinalities
Ordinality |
描述 |
间接 |
(缺点是一个质量问题,可能会间接更容易引入的安全相关的弱点或使他们更难检测) |
主 |
(其他弱点的弱点存在独立的) |
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
CERT C安全编码 |
ARR32-C |
CWE更抽象 |
确保尺寸参数可变长数组的一个有效范围 |
CERT C安全编码 |
ERR34-C |
不精确的 |
检测错误时将一个字符串转换为一个数字 |
CERT C安全编码 |
EXP30-C |
CWE更抽象 |
不依赖于评估的顺序副作用 |
CERT C安全编码 |
EXP33-C |
CWE更抽象 |
不读未初始化内存吗 |
CERT C安全编码 |
FIO46-C |
CWE更抽象 |
不访问一个封闭的文件 |
CERT C安全编码 |
INT34-C |
CWE更抽象 |
不改变一个表达式由一个负数的比特或大于或等于存在于操作数的位数 |
CERT C安全编码 |
INT36-C |
CWE更抽象 |
把一个指针转换成整数或整数指针 |
CERT C安全编码 |
MEM30-C |
CWE更抽象 |
不访问释放内存 |
CERT C安全编码 |
MSC14-C |
|
不引入不必要的平台依赖性 |
CERT C安全编码 |
MSC15-C |
|
不依赖未定义的行为 |
CERT C安全编码 |
MSC37-C |
CWE更抽象 |
确保控制从未达到的非void函数 |
|