CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

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

cwe - 1325:不当控制连续的内存分配

弱点ID: 1325
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品管理一组对象或资源为每个对象并执行一个单独的内存分配,但它不适当的限制所消耗的全部内存的所有的对象。
+扩展描述

虽然产品可能限制在单个操作的内存分配一个对象(如malloc数组),如果攻击者可以导致多个对象被分配在不同的操作,那么这可能会导致更高的总内存消耗比开发人员,导致拒绝服务。

+替代条款
堆栈疲惫:
当分配过多的内存栈上的弱点,它通常被描述为“堆栈疲惫,”这是一个技术疲软的影响。这是经常遇到的技术影响的结果cwe - 789和/或cwe - 1325
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 770年 资源配置没有限制或节流
PeerOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 789年 内存分配过多的大小值
CanPrecede 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 476年 空指针废弃
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

C患病率(待定)

c++患病率(待定)

类:不是特定于语言的患病率(待定)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
可用性

技术的影响:DoS:资源消耗(内存)

不控制内存分配可能导致请求系统内存太多,可能导致应用程序崩溃由于内存不足的情况,或消耗大量内存的系统。
+示范例子

示例1

这个例子包含一个小的堆栈分配内存。当程序第一次被建造,这个内存分配的次数可能是微不足道的,没有问题。随着时间的推移,随着数据库中对象的数量的增长,分配的数量将增长,最终消耗可用的堆栈,即。“栈疲惫。”An attacker who is able to add elements to the database could cause stack exhaustion more rapidly than assumed by the developer.

(坏的代码)
例如语言:C
/ /得到了从数据库中对象的数量大小,随着时间的推移,可以想象得到非常大的
int end_limit = get_nmbr_obj_from_db ();
int我;
int *基础=零;
int * p =基地;
(我= 0;我< end_limit;我+ +)
{
* p = alloca (sizeof (int *));/ /分配内存的堆栈
p = * p;/ / / /点被保存到下一个位置
}

因为这个使用alloca(),它直接在堆栈上分配内存。如果end_limit足够大,那么堆栈可以完全消耗。

+观察到的例子
参考 描述
基于javascript的包解码器使用连接的许多小弦,导致内存不足(伯父)条件
产品分配一个新的缓冲栈上的每个文件的目录,允许堆栈疲惫
链:一个整数溢出(cwe - 190)图像大小计算会导致无限循环(cwe - 835),按顺序分配缓冲区没有限制(cwe - 1325),直到栈是满的。
+潜在的缓解措施

实施阶段:

确保多个相同类型的对象的分配正确跟踪——可能跨多个会话、请求或消息。定义一个合适的策略来处理请求,超过极限,并考虑支持配置选项,以便管理员可以延长在必要时使用的内存量。

阶段:操作

运行程序内存使用系统提供的资源限制。这仍然可能导致程序崩溃或退出,但影响系统的其他部分将会最小化。
+弱点Ordinalities
Ordinality 描述
(其他弱点的弱点存在独立的)
+内容的历史
+提交
提交日期 提交者 组织
2020-12-07 CWE内容团队 主教法冠
+修改
修改日期 修饰符 组织
2021-07-20 CWE内容团队 主教法冠
更新Observed_Examples
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日