997
Description
The product does not handle or incorrectly handles a compressed input with a very high
compression ratio that produces a large output.
Extended Description
An example of data amplification is a "decompression bomb," a small ZIP file that can produce a
large amount of data when it is decompressed.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 405 Asymmetric Resource Consumption (Amplification) 986
Relevant to the view "Software Development" (CWE-699)
Nature Type ID Name Page
MemberOf 19 Data Processing Errors 2309
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Availability DoS: Amplification
DoS: Crash, Exit, or Restart
DoS: Resource Consumption (CPU)
DoS: Resource Consumption (Memory)
System resources, CPU and memory, can be quickly
consumed. This can lead to poor system performance or
system crash.
Demonstrative Examples
Example 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 THIRTYTWO, which will expand to 2^32 characters in length, or 4 GB, probably
consuming far more data than expected.
Example Language: XML (Attack)
<?xml version="1.0"?>
<!DOCTYPE MaliciousDTD [
<!ENTITY ZERO "A">
<!ENTITY ONE "&ZERO;&ZERO;">
<!ENTITY TWO "&ONE;&ONE;">
...
<!ENTITY THIRTYTWO "&THIRTYONE;&THIRTYONE;">
]>
<data>&THIRTYTWO;</data>
Observed Examples
CWE Version 4.14
CWE-410: Insufficient Resource Pool
CWE-410: Insufficient Resource Pool