CWE

普遍的弱点

社区开发的软件和硬件弱点类型清单

2021 CWE最重要的硬件弱点
CWE前25个最危险的弱点
>CWE列表> CWE-单个字典定义(4.9)
ID

CWE-469:使用指针减法确定尺寸

弱点ID:469
抽象:根据
结构:简单的
查看自定义信息:
+描述
该应用程序从另一个指针中减去一个指针以确定大小,但是如果指针不存在在同一内存块中,则此计算可能是不正确的。
+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 名称
Childof 支柱支柱 - 弱点是最抽象的弱点类型,代表了与之相关的所有类别/基础/变体弱点的主题。从技术上讲,柱子与类别不同,因为在技术上仍然是一种描述错误的弱点,而类别代表用于分组相关事物的常见特征。 682 错误的计算
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“软件开发”视图相关(CWE-699)
自然 类型 ID 名称
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 465 指针问题
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
执行
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

C(不确定的患病率)

C ++(不确定的患病率)

+常见后果
部分帮助该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
范围 影响 可能性
访问控制
正直
保密
可用性

技术影响:修改内存;阅读记忆;执行未经授权的代码或命令;获得特权或假定身份

具有脆弱程序特权的任意代码执行的潜力。
+利用的可能性
中等的
+示例的例子

示例1

以下示例包含用于确定链接列表中节点数量的方法大小。该方法通过指向链接列表的头部的指针。

(不良代码)
示例语言:C
struct node {
int数据;
struct node* next;
};

//从链接列表中返回从

//给定指向列表头的指针。
int size(struct node* head){
struct节点*电流= head;
结构节点*尾巴;
while(current!= null){
尾=电流;
Current = Current-> Next;
}
返回尾巴 - 头;
}

//操纵列表的其他方法
...

但是,该方法创建指向列表末尾的指针,并使用指针减法来确定列表中的节点数量,通过从头指针中减去尾指针。不能保证指针存在于同一内存区域中,因此以这种方式使用指针减法可能会返回不正确的结果并允许其他意外行为。在此示例中,应使用计数器来确定列表中的节点数量,如以下代码所示。

(好代码)
示例语言:C

...

int size(struct node* head){
struct节点*电流= head;
int count = 0;
while(current!= null){
计数++;
Current = Current-> Next;
}
返回计数;
}
+潜在的缓解

阶段:实施

保存索引变量。这是推荐的解决方案。而不是彼此减去指针,而是使用与所讨论的指针相同的索引变量。使用此变量从一个指针到另一个指针“行走”并计算差异。始终验证此数字。
+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 名称
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 740 CERT C安全编码标准(2008)第7章 - 阵列(ARR)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 874 CERT C ++安全编码第06节 - 数组和STL(ARR)
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 884 CWE横截面
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 971 SFP辅助群集:指针使用故障
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1160 SEI CERT C编码标准 - 指南06.数组(ARR)
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
扣子 指针减法不当
证书C安全编码 ARR36-C 精确的 请勿减去或比较两个不指同一数组的指针
软件故障模式 SFP7 指针使用故障
+参考
[Ref-18] Secure Software,Inc.。“ The CLASP应用程序安全过程”。2005年。<https://cwe.mitre.org/documents/sources/theclaspapplicationsecurityprocess.pdf>。
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 扣子
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的time_of_introduction
2008-08-01 KDM分析
添加/更新的白色框定义
2008-09-08 CWE内容团队 MITER
更新了适用的_platforms,common_consequences,关系,其他_notes,gualomy_mappings
2008-11-24 CWE内容团队 MITER
更新的关系,分类_mappings
2011-06-01 CWE内容团队 MITER
更新的common_cconsquences
2011-09-13 CWE内容团队 MITER
更新的关系,分类_mappings
2012-05-11 CWE内容团队 MITER
更新的关系
2012-10-30 CWE内容团队 MITER
更新了示范_examples,势_mitigations
2014-02-18 CWE内容团队 MITER
更新的势_MINEIGATIONS
2014-06-23 CWE内容团队 MITER
更新其他_notes
2014-07-30 CWE内容团队 MITER
更新的关系,分类_mappings
2017-11-08 CWE内容团队 MITER
更新的示范_examples,分类_mappings,white_box_definitions
2019-01-03 CWE内容团队 MITER
更新的关系
2020-02-24 CWE内容团队 MITER
更新的参考,关系,分类_mappings
2020-06-25 CWE内容团队 MITER
更新的common_cconsquences
2021-03-15 CWE内容团队 MITER
更新的势_MINEIGATIONS
2022-10-13 CWE内容团队 MITER
更新的关系,分类_mappings
+先前的输入名称
改变日期 先前的输入名称
2008-04-11 指针减法不当
提供更多信息 - 请选择其他过滤器。
页面最后更新:2022年10月13日