• C
    netfilter: clear skb->next in NF_HOOK_LIST() · cbf80170
    Cong Wang 提交于
    stable inclusion
    from linux-4.19.161
    commit 5460d62d661c0fc53bfe83493821b1dc3dc969f4
    
    --------------------------------
    
    NF_HOOK_LIST() uses list_del() to remove skb from the linked list,
    however, it is not sufficient as skb->next still points to other
    skb. We should just call skb_list_del_init() to clear skb->next,
    like the rest places which using skb list.
    
    This has been fixed in upstream by commit ca58fbe0
    ("netfilter: add and use nf_hook_slow_list()").
    
    Fixes: 9f17dbf0 ("netfilter: fix use-after-free in NF_HOOK_LIST")
    Reported-by: liuzx@knownsec.com
    Tested-by: liuzx@knownsec.com
    Cc: Florian Westphal <fw@strlen.de>
    Cc: Edward Cree <ecree@solarflare.com>
    Cc: stable@vger.kernel.org # between 4.19 and 5.4
    Signed-off-by: NCong Wang <cong.wang@bytedance.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    cbf80170
netfilter.h 13.2 KB