• Tom Herbert's avatar
    flow_dissector: Add limit for number of headers to dissect · 1eed4dfb
    Tom Herbert authored
    In flow dissector there are no limits to the number of nested
    encapsulations or headers that might be dissected which makes for a
    nice DOS attack. This patch sets a limit of the number of headers
    that flow dissector will parse.
    
    Headers includes network layer headers, transport layer headers, shim
    headers for encapsulation, IPv6 extension headers, etc. The limit for
    maximum number of headers to parse has be set to fifteen to account for
    a reasonable number of encapsulations, extension headers, VLAN,
    in a packet. Note that this limit does not supercede the STOP_AT_*
    flags which may stop processing before the headers limit is reached.
    Reported-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: default avatarTom Herbert <tom@quantonium.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1eed4dfb
flow_dissector.c 33.2 KB