| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-42321: net: flow_dissector: use DEBUG_NET_WARN_ON_ONCE |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| net: flow_dissector: use DEBUG_NET_WARN_ON_ONCE |
| |
| The following splat is easy to reproduce upstream as well as in -stable |
| kernels. Florian Westphal provided the following commit: |
| |
| d1dab4f71d37 ("net: add and use __skb_get_hash_symmetric_net") |
| |
| but this complementary fix has been also suggested by Willem de Bruijn |
| and it can be easily backported to -stable kernel which consists in |
| using DEBUG_NET_WARN_ON_ONCE instead to silence the following splat |
| given __skb_get_hash() is used by the nftables tracing infrastructure to |
| to identify packets in traces. |
| |
| [69133.561393] ------------[ cut here ]------------ |
| [69133.561404] WARNING: CPU: 0 PID: 43576 at net/core/flow_dissector.c:1104 __skb_flow_dissect+0x134f/ |
| [...] |
| [69133.561944] CPU: 0 PID: 43576 Comm: socat Not tainted 6.10.0-rc7+ #379 |
| [69133.561959] RIP: 0010:__skb_flow_dissect+0x134f/0x2ad0 |
| [69133.561970] Code: 83 f9 04 0f 84 b3 00 00 00 45 85 c9 0f 84 aa 00 00 00 41 83 f9 02 0f 84 81 fc ff |
| ff 44 0f b7 b4 24 80 00 00 00 e9 8b f9 ff ff <0f> 0b e9 20 f3 ff ff 41 f6 c6 20 0f 84 e4 ef ff ff 48 8d 7b 12 e8 |
| [69133.561979] RSP: 0018:ffffc90000006fc0 EFLAGS: 00010246 |
| [69133.561988] RAX: 0000000000000000 RBX: ffffffff82f33e20 RCX: ffffffff81ab7e19 |
| [69133.561994] RDX: dffffc0000000000 RSI: ffffc90000007388 RDI: ffff888103a1b418 |
| [69133.562001] RBP: ffffc90000007310 R08: 0000000000000000 R09: 0000000000000000 |
| [69133.562007] R10: ffffc90000007388 R11: ffffffff810cface R12: ffff888103a1b400 |
| [69133.562013] R13: 0000000000000000 R14: ffffffff82f33e2a R15: ffffffff82f33e28 |
| [69133.562020] FS: 00007f40f7131740(0000) GS:ffff888390800000(0000) knlGS:0000000000000000 |
| [69133.562027] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 |
| [69133.562033] CR2: 00007f40f7346ee0 CR3: 000000015d200001 CR4: 00000000001706f0 |
| [69133.562040] Call Trace: |
| [69133.562044] <IRQ> |
| [69133.562049] ? __warn+0x9f/0x1a0 |
| [ 1211.841384] ? __skb_flow_dissect+0x107e/0x2860 |
| [...] |
| [ 1211.841496] ? bpf_flow_dissect+0x160/0x160 |
| [ 1211.841753] __skb_get_hash+0x97/0x280 |
| [ 1211.841765] ? __skb_get_hash_symmetric+0x230/0x230 |
| [ 1211.841776] ? mod_find+0xbf/0xe0 |
| [ 1211.841786] ? get_stack_info_noinstr+0x12/0xe0 |
| [ 1211.841798] ? bpf_ksym_find+0x56/0xe0 |
| [ 1211.841807] ? __rcu_read_unlock+0x2a/0x70 |
| [ 1211.841819] nft_trace_init+0x1b9/0x1c0 [nf_tables] |
| [ 1211.841895] ? nft_trace_notify+0x830/0x830 [nf_tables] |
| [ 1211.841964] ? get_stack_info+0x2b/0x80 |
| [ 1211.841975] ? nft_do_chain_arp+0x80/0x80 [nf_tables] |
| [ 1211.842044] nft_do_chain+0x79c/0x850 [nf_tables] |
| |
| The Linux kernel CVE team has assigned CVE-2024-42321 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 5.2 with commit 9b52e3f267a6835efd50ed9002d530666d16a411 and fixed in 6.1.103 with commit eb03d9826aa646577342a952d658d4598381c035 |
| Issue introduced in 5.2 with commit 9b52e3f267a6835efd50ed9002d530666d16a411 and fixed in 6.6.44 with commit 4afbac11f2f629d1e62817c4e210bdfaa7521107 |
| Issue introduced in 5.2 with commit 9b52e3f267a6835efd50ed9002d530666d16a411 and fixed in 6.10.3 with commit c5d21aabf1b31a79f228508af33aee83456bc1b0 |
| Issue introduced in 5.2 with commit 9b52e3f267a6835efd50ed9002d530666d16a411 and fixed in 6.11 with commit 120f1c857a73e52132e473dee89b340440cb692b |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-42321 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| net/core/flow_dissector.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/eb03d9826aa646577342a952d658d4598381c035 |
| https://git.kernel.org/stable/c/4afbac11f2f629d1e62817c4e210bdfaa7521107 |
| https://git.kernel.org/stable/c/c5d21aabf1b31a79f228508af33aee83456bc1b0 |
| https://git.kernel.org/stable/c/120f1c857a73e52132e473dee89b340440cb692b |