• Eric Dumazet's avatar
    ipv6: fix out-of-bound access in ip6_parse_tlv() · 624085a3
    Eric Dumazet authored
    First problem is that optlen is fetched without checking
    there is more than one byte to parse.
    
    Fix this by taking care of IPV6_TLV_PAD1 before
    fetching optlen (under appropriate sanity checks against len)
    
    Second problem is that IPV6_TLV_PADN checks of zero
    padding are performed before the check of remaining length.
    
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Fixes: c1412fce ("net/ipv6/exthdrs.c: Strict PadN option checking")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Tom Herbert <tom@herbertland.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    624085a3
exthdrs.c 31.5 KB