CWE

常见的弱点枚举

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

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

cwe - 138:不当中和特殊元素

弱点ID: 138
抽象:
结构:简单的
视图定制的信息:
+描述
产品从一个上游组件接收输入,但它不中和或错误中和特殊元素,可以被解释为控制元素或句法标记,当他们被发送到一个下游组件。
+扩展描述
大多数语言和协议都有自己的特殊元素,如人物和保留字。这些特殊的元素可以控制内容。如果产品不能防止外部控制或影响包含这样的特殊元素,更改程序的控制流的目的是什么。例如,Unix和Windows解释符号<(“小于”)意味着“从文件读取输入”。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 支柱支柱——一个弱点是最抽象类型的弱点和代表一个主题类/基地/变体相关弱点。支柱是不同于一个类别作为支柱技术上仍然是一种弱点,描述了一个错误,而一个类别代表一个共同特征用于组相关的东西。 707年 不适当的中和
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 140年 中和不当分隔符
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 147年 中和不当输入结束符
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 148年 不当中和输入的领导人
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 149年 中和不当引用语法
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 150年 中和不当逃脱、元或控制序列
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 151年 中和不当评论分隔符
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 152年 不当中和宏观符号
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 153年 不当中和替换字符
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 154年 中和不当变量名称分隔符
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 155年 不当中和通配符或匹配的符号
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 156年 不当中和的空白
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 157年 未能净化成对分隔符
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 158年 中和不当零字节或NUL字符
ParentOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 159年 处理不当的无效使用特殊的元素
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 160年 不当中和领导特殊元素
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 162年 不当中和落后于特殊的元素
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 164年 不当中和内部特殊的元素
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 464年 哨兵的数据结构
ParentOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 790年 过滤不当的特殊元素
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关视图”架构概念”(cwe - 1008)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1019年 验证输入
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现 实现:造成这一弱点在建筑安全策略的实施。
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

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

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

技术的影响:执行未经授权的代码或命令;改变执行逻辑;DoS:崩溃,退出或重新启动

+观察到的例子
参考 描述
从邮件客户端读取任意文件通过提供一个特殊的MIME消息头内部用来存储路径名的附件。
Setuid程序不清洁特殊转义序列之前将数据发送到一个邮件程序,导致邮件程序处理这些序列。
多通道的问题。终端转义序列不过滤日志文件。
多通道的问题。终端转义序列不过滤日志文件。
+潜在的缓解措施

实施阶段:

开发人员应该预料到特殊元素(如分隔符、符号)将注入产品的输入向量。防御之一是创建一个allowlist(例如一个正则表达式),它定义了有效的输入根据需求规格说明书。严格筛选对allowlist不匹配的任何输入。正确编码输出,引用任何元素,有特殊意义的组件通信。

实施阶段:

策略:输入验证

假设所有的输入是恶意的。使用一个“接受良好的“输入验证策略,即。,使用一个可接受的输入列表,严格遵守规范。拒绝任何不严格符合规范的输入,或将其转换为一些。

当执行输入验证,考虑所有可能相关的属性,包括长度,类型的输入,可接受的值的全系列,缺失或额外的输入,语法,一致性相关领域,符合业务规则。作为业务规则逻辑的一个例子,在语法上“船”可能是有效的,因为它只包含字母数字字符,但它不是有效的如果输入预计仅包含颜色,如“红”或“蓝色”。

不完全依赖寻找恶意或畸形的输入。这很可能错过至少有一个不受欢迎的输入,特别是如果代码的环境变化。这可以让攻击者有足够的空间绕过验证。然而,denylists可以用于检测潜在攻击或确定哪些输入是畸形的,应该直接驳回。

实施阶段:

使用并指定一个适当的输出编码,确保特殊元素是定义良好的。一个正常的字节序列在一个编码在另一个可能是一种特殊的元素。

实施阶段:

策略:输入验证

输入应该解码和规范化应用程序当前的内部表示之前验证(cwe - 180)。确保应用程序不会解码输入两次相同(cwe - 174)。这些错误可以用来绕过allowlist验证方案通过引入危险的输入后检查。

实施阶段:

策略:输出编码

虽然风险使用动态生成的查询字符串,代码,或命令,控制和数据混合在一起,有时它可能是不可避免的。正确引用参数和任何特殊字符转义在这些参数。最保守的方法是逃跑或者过滤不经过极其严格的allowlist的所有字符(如一切不是字母数字或空白)。如果仍然需要一些特殊字符,如空格,每个参数封装在引号转义后/过滤步骤。小心论证注入(cwe - 88)。
+弱点Ordinalities
Ordinality 描述
(其他弱点的弱点存在独立的)
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 990年 SFP二级集群:污染输入命令
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1347年 OWASP十大2021类别A03:2021 -注射
+笔记

的关系

这个弱点可以解释冲突或交互错误有关的中介机构(如代理或应用程序防火墙)当一个端点的中介的模型并不占特定于协议的特殊元素。

的关系

看到这个条目的孩子为不同类型的特殊元素,一度曾被观察到。然而,很难找到合适的CVE的例子。为了完成,CWE包括某些类型没有任何相关的观察到的例子。

研究的差距

这个弱点可能是超专有的或自定义格式。很可能这些问题是相当常见的应用程序中使用自己的自定义格式的配置文件、日志、元数据、消息传递、等等。他们只会偶然被发现或集中精力基于理解的格式。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
千鸟 特殊元素(字符或保留字)
千鸟 定制特殊字符注入
软件故障模式 SFP24 污染输入命令
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19 千鸟
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新描述、Potential_Mitigations Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新描述、关系、Other_Notes Taxonomy_Mappings
2009-03-10 CWE内容团队 主教法冠
更新描述、名称
2009-07-27 CWE内容团队 主教法冠
更新Applicable_Platforms、描述Observed_Examples、Other_Notes Potential_Mitigations, Relationship_Notes,关系,Research_Gaps, Taxonomy_Mappings Weakness_Ordinalities
2009-12-28 CWE内容团队 主教法冠
更新的关系
2010-04-05 CWE内容团队 主教法冠
更新描述、名称
2010-12-13 CWE内容团队 主教法冠
更新描述
2011-03-29 CWE内容团队 主教法冠
更新Potential_Mitigations
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新Common_Consequences、人际关系
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-01-19 CWE内容团队 主教法冠
更新的关系
2017-05-03 CWE内容团队 主教法冠
更新Potential_Mitigations
2017-11-08 CWE内容团队 主教法冠
更新Modes_of_Introduction Potential_Mitigations,关系
2020-02-24 CWE内容团队 主教法冠
更新Potential_Mitigations、人际关系
2020-06-25 CWE内容团队 主教法冠
更新Potential_Mitigations
2021-10-28 CWE内容团队 主教法冠
更新的关系
2022-04-28 CWE内容团队 主教法冠
更新Related_Attack_Patterns
2023-01-31 CWE内容团队 主教法冠
更新描述,Potential_Mitigations
+以前的条目名称
改变日期 以前的条目名称
2008-04-11 特殊元素(字符或保留字)
2009-03-10 未能清洁特殊元素
2010-04-05 卫生处理不当的特殊元素
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日