Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_reject: don't leak dst refcount for loopback packets recent patches to add a WARN() when replacing skb dst entry found an old bug: WARNING: include/linux/skbuff.h:1165 skb_dst_check_unset include/linux/skbuff.h:1164 [inline] WARNING: include/linux/skbuff.h:1165 skb_dst_set include/linux/skbuff.h:1210 [inline] WARNING: include/linux/skbuff.h:1165 nf_reject_fill_skb_dst+0x2a4/0x330 net/ipv4/netfilter/nf_reject_ipv4.c:234 [..] Call Trace: nf_send_unreach+0x17b/0x6e0 net/ipv4/netfilter/nf_reject_ipv4.c:325 nft_reject_inet_eval+0x4bc/0x690 net/netfilter/nft_reject_inet.c:27 expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline] .. This is because blamed commit forgot about loopback packets. Such packets already have a dst_entry attached, even at PRE_ROUTING stage. Instead of checking hook just check if the skb already has a route attached to it.
Product status
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before 7b8b503c06274ef3c6c1a107743f1ec0d0a53ef8
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before 82ef97abf22790182f7d433c74960dfd61b99c33
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before b7a885ba25960c91db237c3f83b4285156789bce
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before a0a3ace2a57887dac1e7c9a724846040c3e31868
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before 51e8531371f90bee742c63775c9a568e5d6bf3c5
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before b32e1590a8d22cf7d7f965e46d5576051acf8e42
f53b9b0bdc59c0823679f2e3214e0d538f5951b9 (git) before 91a79b792204313153e1bdbbe5acbfc28903b3a5
5.9
Any version before 5.9
5.10.241 (semver)
5.15.190 (semver)
6.1.149 (semver)
6.6.103 (semver)
6.12.44 (semver)
6.16.4 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/7b8b503c06274ef3c6c1a107743f1ec0d0a53ef8
git.kernel.org/...c/82ef97abf22790182f7d433c74960dfd61b99c33
git.kernel.org/...c/b7a885ba25960c91db237c3f83b4285156789bce
git.kernel.org/...c/a0a3ace2a57887dac1e7c9a724846040c3e31868
git.kernel.org/...c/51e8531371f90bee742c63775c9a568e5d6bf3c5
git.kernel.org/...c/b32e1590a8d22cf7d7f965e46d5576051acf8e42
git.kernel.org/...c/91a79b792204313153e1bdbbe5acbfc28903b3a5