Skip to content
  • Patrick McHardy's avatar
    [NETFILTER]: Fix ip6_tables extension header bypass bug · 6d381634
    Patrick McHardy authored
    
    
    As reported by Mark Dowd <Mark_Dowd@McAfee.com>, ip6_tables is susceptible
    to a fragmentation attack causing false negatives on extension header matches.
    
    When extension headers occur in the non-first fragment after the fragment
    header (possibly with an incorrect nexthdr value in the fragment header)
    a rule looking for this extension header will never match.
    
    Drop fragments that are at offset 0 and don't contain the final protocol
    header regardless of the ruleset, since this should not happen normally.
    Since all extension headers are before the protocol header this makes sure
    an extension header is either not present or in the first fragment, where
    we can properly parse it.
    
    With help from Yasuyuki KOZAKAI <yasuyuki.kozakai@toshiba.co.jp>.
    
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6d381634