目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1336

100%

CWE-776 DTD中递归实体索引的不恰当限制(XML实体扩展) 类漏洞列表 33

CWE-776 DTD中递归实体索引的不恰当限制(XML实体扩展) 类弱点 33 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-776是XML实体扩展漏洞,属于资源耗尽型缺陷。攻击者通过在DTD中构造深层嵌套或递归的实体定义,诱导解析器在展开时产生指数级数据膨胀,从而引发拒绝服务攻击。开发者应避免使用外部DTD,或在解析XML时严格限制实体展开深度与数量,同时启用解析器的安全配置以遏制递归引用,确保系统稳定性。

MITRE CWE 官方描述
CWE:CWE-776 在 DTD 中对递归实体引用(Recursive Entity References)的限制不当('XML Entity Expansion') 英文:该产品使用 XML 文档,并允许使用文档类型定义(Document Type Definition, DTD)来定义其结构,但未对实体的递归定义数量进行适当控制。 如果 DTD 包含大量嵌套或递归实体,则在解析时可能导致数据呈爆炸式增长,从而引发拒绝服务(Denial of Service)攻击。
常见影响 (1)
Availability DoS: Resource Consumption (Other)
If parsed, recursive entity references allow the attacker to expand data exponentially, quickly consuming all system resources.
缓解措施 (2)
Operation If possible, prohibit the use of DTDs or use an XML parser that limits the expansion of recursive DTD entities.
Implementation Before parsing XML files with associated DTDs, scan for recursive entity declarations and do not continue parsing potentially explosive content.
代码示例 (1)
The DTD and the very brief XML below illustrate what is meant by an XML bomb. The ZERO entity contains one character, the letter A. The choice of entity name ZERO is being used to indicate length equivalent to that exponent on two, that is, the length of ZERO is 2^0. Similarly, ONE refers to ZERO twice, therefore the XML parser will expand ONE to a length of 2, or 2^1. Ultimately, we reach entity …
<?xml version="1.0"?> <!DOCTYPE MaliciousDTD [ <!ENTITY ZERO "A"> <!ENTITY ONE "&ZERO;&ZERO;"> <!ENTITY TWO "&ONE;&ONE;"> ... <!ENTITY THIRTYTWO "&THIRTYONE;&THIRTYONE;"> ]> <data>&THIRTYTWO;</data>
Attack · XML
CVE ID 标题 CVSS 风险等级 Published
CVE-2020-5227 Feedgen 安全漏洞 — python-feedgen 4.4 Medium 2020-01-28
CVE-2019-5442 Pippo 资源管理错误漏洞 — Pippo 7.5 - 2019-06-12
CVE-2019-5427 c3p0 资源管理错误漏洞 — c3p0 7.5 - 2019-04-22

CWE-776(DTD中递归实体索引的不恰当限制(XML实体扩展)) 是常见的弱点类别,本平台收录该类弱点关联的 33 条 CVE 漏洞。