Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_flow_table: drop existing skb dst before skb_dst_set_noref() Incoming skbs passing through netfilter flowtable offload hooks (or XFRM offload path) might already carry a ref-counted dst_entry assigned during earlier RX or routing steps. Calling skb_dst_set_noref() when skb already holds a ref-counted dst overwrites skb->_skb_refdst, leaking the previous dst_entry reference count and triggering a DEBUG_NET_WARN_ON_ONCE assertion in skb_dst_check_unset(): WARNING: at skb_dst_check_unset include/linux/skbuff.h:1170 WARNING: at skb_dst_set_noref include/linux/skbuff.h:1234 WARNING: at nf_flow_offload_ip_hook+0xf6c/0x2b60 net/netfilter/nf_flow_table_ip.c:864 Drop any existing dst_entry reference with skb_dst_drop(skb) before setting the non-referenced flowtable destination.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2a79fd3908acd88e6cb0e620c314d7b1fee56a02 to < 763f59b72ddaf18d0750d53083a74355f6c003c8affected2a79fd3908acd88e6cb0e620c314d7b1fee56a02 to < 4db3b48a966ed479b99cc8319ea9e46d4f7c703baffected2a79fd3908acd88e6cb0e620c314d7b1fee56a02 to < 274f544a32c08638ee887f2e27e3235b6b1237d4affected2a79fd3908acd88e6cb0e620c314d7b1fee56a02 to < 12afa450a6a6c0cce2c42b7545a9958f62d8a00caffected2a79fd3908acd88e6cb0e620c314d7b1fee56a02 to < 538e67e8c7889cf5f93951f5309d1bcb41f86036affected2a79fd3908acd88e6cb0e620c314d7b1fee56a02 to < 8aecf0bbcc72605592134c917c222207d8f63ab0affectedb4b1adf2e66ecc7125c4117e7aad9ff61e2cfd27affected209dedf806d31095968f54323dbe62525b077b33affected4.16.15 to < 4.17affected4.17.1 to < 4.18affected
Linux Linux
Default version status: affected
4.18affected0 to < 4.18unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/763f59b72ddaf18d0750d53083a74355f6c003c8 ↗
- https://git.kernel.org/stable/c/4db3b48a966ed479b99cc8319ea9e46d4f7c703b ↗
- https://git.kernel.org/stable/c/274f544a32c08638ee887f2e27e3235b6b1237d4 ↗
- https://git.kernel.org/stable/c/12afa450a6a6c0cce2c42b7545a9958f62d8a00c ↗
- https://git.kernel.org/stable/c/538e67e8c7889cf5f93951f5309d1bcb41f86036 ↗
- https://git.kernel.org/stable/c/8aecf0bbcc72605592134c917c222207d8f63ab0 ↗