CWE-406 对网络消息容量的控制不充分(网络放大攻击)

Insufficient Control of Network Message Volume (Network Amplification)

结构: Simple

Abstraction: Class

状态: Incomplete

被利用可能性: unkown


The software does not sufficiently monitor or control transmitted network traffic volume, so that an actor can cause the software 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.


  • cwe_Nature: ChildOf cwe_CWE_ID: 405 cwe_View_ID: 1000 cwe_Ordinal: Primary

  • cwe_Nature: ChildOf cwe_CWE_ID: 405 cwe_View_ID: 699 cwe_Ordinal: Primary


Language: {'cwe_Class': 'Language-Independent', 'cwe_Prevalence': 'Undetermined'}


范围 影响 注释
Availability ['DoS: Amplification', 'DoS: Crash, Exit, or Restart', 'DoS: Resource Consumption (CPU)', 'DoS: Resource Consumption (Memory)', 'DoS: Resource Consumption (Other)'] System resources can be quickly consumed leading to poor application performance or system crash. This may affect network performance and could be used to attack other systems and applications relying on network performance.


Architecture and Design

策略: Separation of Privilege

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.


This code listens on a port for DNS requests and sends the result to the requesting address.

bad Python

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind( (UDP_IP,UDP_PORT) )
while true:
data = sock.recvfrom(1024)
if not data:

(requestIP, nameToResolve) = parseUDPpacket(data)
record = resolveName(nameToResolve)

This code sends a DNS record to a requesting IP address. UDP allows the source IP address to be easily changed ('spoofed'), thus allowing an attacker to redirect responses to a target, which may be then be overwhelmed by the network traffic.


标识 说明 链接
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.


Relationship This can be resultant from weaknesses that simplify spoofing attacks. Theoretical Network amplification, when performed with spoofing, is normally a multi-channel attack from attacker (acting as user) to amplifier, and amplifier to victim.


映射的分类名 ImNode ID Fit Mapped Node Name
PLOVER Network Amplification