Description
The product does not sufficiently monitor or control transmitted network traffic volume, so that an actor can cause the product to transmit more traffic than should be allowed for that actor.
In the absence of a policy to restrict asymmetric resource consumption, the application or system cannot distinguish between legitimate transmissions and traffic intended to serve as an amplifying attack on target systems. Systems can often be configured to restrict the amount of traffic sent out on behalf of a client, based on the client's origin or access level. This is usually defined in a resource allocation policy. In the absence of a mechanism to keep track of transmissions, the system or application can be easily abused to transmit asymmetrically greater traffic than the request or client should be permitted to.
Potential Impact
Availability
DoS: Amplification, DoS: Crash, Exit, or Restart, DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory), DoS: Resource Consumption (Other)
Demonstrative Examples
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.bind( (UDP_IP,UDP_PORT) )while true:
data = sock.recvfrom(1024)if not data:break
(requestIP, nameToResolve) = parseUDPpacket(data)record = resolveName(nameToResolve)sendResponse(requestIP,record)Mitigations & Prevention
An application must make network resources available to a client commensurate with the client's access level.
Define a clear policy for network resource allocation and consumption.
An application must, at all times, keep track of network resources and meter their usage appropriately.
Detection Methods
- Automated Static Analysis — Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then sea
Real-World CVE Examples
| CVE ID | Description |
|---|---|
| CVE-1999-0513 | Classic "Smurf" attack, using spoofed ICMP packets to broadcast addresses. |
| CVE-1999-1379 | DNS query with spoofed source address causes more traffic to be returned to spoofed address than was sent by the attacker. |
| CVE-2000-0041 | Large datagrams are sent in response to malformed datagrams. |
| CVE-1999-1066 | Game server sends a large amount. |
| CVE-2013-5211 | composite: NTP feature generates large responses (high amplification factor) with spoofed UDP source addresses. |
Related Weaknesses
Taxonomy Mappings
- PLOVER: — Network Amplification
Frequently Asked Questions
What is CWE-406?
CWE-406 (Insufficient Control of Network Message Volume (Network Amplification)) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Class-level weakness. The product does not sufficiently monitor or control transmitted network traffic volume, so that an actor can cause the product to transmit more traffic than should be allowed for that actor.
How can CWE-406 be exploited?
Attackers can exploit CWE-406 (Insufficient Control of Network Message Volume (Network Amplification)) to dos: amplification, dos: crash, exit, or restart, dos: resource consumption (cpu), dos: resource consumption (memory), dos: resource consumption (other). This weakness is typically introduced during the Operation, Architecture and Design, Implementation phase of software development.
How do I prevent CWE-406?
Key mitigations include: An application must make network resources available to a client commensurate with the client's access level.
What is the severity of CWE-406?
CWE-406 is classified as a Class-level weakness (High abstraction). It has been observed in 5 real-world CVEs.