| 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-35900: netfilter: nf_tables: reject new basechain after table flag update |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| netfilter: nf_tables: reject new basechain after table flag update |
| |
| When dormant flag is toggled, hooks are disabled in the commit phase by |
| iterating over current chains in table (existing and new). |
| |
| The following configuration allows for an inconsistent state: |
| |
| add table x |
| add chain x y { type filter hook input priority 0; } |
| add table x { flags dormant; } |
| add chain x w { type filter hook input priority 1; } |
| |
| which triggers the following warning when trying to unregister chain w |
| which is already unregistered. |
| |
| [ 127.322252] WARNING: CPU: 7 PID: 1211 at net/netfilter/core.c:50 1 __nf_unregister_net_hook+0x21a/0x260 |
| [...] |
| [ 127.322519] Call Trace: |
| [ 127.322521] <TASK> |
| [ 127.322524] ? __warn+0x9f/0x1a0 |
| [ 127.322531] ? __nf_unregister_net_hook+0x21a/0x260 |
| [ 127.322537] ? report_bug+0x1b1/0x1e0 |
| [ 127.322545] ? handle_bug+0x3c/0x70 |
| [ 127.322552] ? exc_invalid_op+0x17/0x40 |
| [ 127.322556] ? asm_exc_invalid_op+0x1a/0x20 |
| [ 127.322563] ? kasan_save_free_info+0x3b/0x60 |
| [ 127.322570] ? __nf_unregister_net_hook+0x6a/0x260 |
| [ 127.322577] ? __nf_unregister_net_hook+0x21a/0x260 |
| [ 127.322583] ? __nf_unregister_net_hook+0x6a/0x260 |
| [ 127.322590] ? __nf_tables_unregister_hook+0x8a/0xe0 [nf_tables] |
| [ 127.322655] nft_table_disable+0x75/0xf0 [nf_tables] |
| [ 127.322717] nf_tables_commit+0x2571/0x2620 [nf_tables] |
| |
| The Linux kernel CVE team has assigned CVE-2024-35900 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 5.4.262 with commit e10f661adc556c4969c70ddaddf238bffdaf1e87 and fixed in 5.4.274 with commit 41bad13c0e8a5a2b47a7472cced922555372daab |
| Issue introduced in 5.10.202 with commit d9c4da8cb74e8ee6e58a064a3573aa37acf6c935 and fixed in 5.10.215 with commit 7b6fba6918714afee3e17796113ccab636255c7b |
| Issue introduced in 5.13 with commit 179d9ba5559a756f4322583388b3213fe4e391b0 and fixed in 5.15.154 with commit 8ba81dca416adf82fc5a2a23abc1a8cc02ad32fb |
| Issue introduced in 5.13 with commit 179d9ba5559a756f4322583388b3213fe4e391b0 and fixed in 6.1.85 with commit 745cf6a843896cdac8766c74379300ed73c78830 |
| Issue introduced in 5.13 with commit 179d9ba5559a756f4322583388b3213fe4e391b0 and fixed in 6.6.26 with commit 420132bee3d0136b7fba253a597b098fe15493a7 |
| Issue introduced in 5.13 with commit 179d9ba5559a756f4322583388b3213fe4e391b0 and fixed in 6.8.5 with commit e95bb4cba94c018be24b11f017d1c55dd6cda31a |
| Issue introduced in 5.13 with commit 179d9ba5559a756f4322583388b3213fe4e391b0 and fixed in 6.9 with commit 994209ddf4f430946f6247616b2e33d179243769 |
| |
| 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-35900 |
| 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/netfilter/nf_tables_api.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/6d12f21f8bbe23fde25b77c2bf5973c136b8bef8 |
| https://git.kernel.org/stable/c/41bad13c0e8a5a2b47a7472cced922555372daab |
| https://git.kernel.org/stable/c/7b6fba6918714afee3e17796113ccab636255c7b |
| https://git.kernel.org/stable/c/8ba81dca416adf82fc5a2a23abc1a8cc02ad32fb |
| https://git.kernel.org/stable/c/745cf6a843896cdac8766c74379300ed73c78830 |
| https://git.kernel.org/stable/c/420132bee3d0136b7fba253a597b098fe15493a7 |
| https://git.kernel.org/stable/c/e95bb4cba94c018be24b11f017d1c55dd6cda31a |
| https://git.kernel.org/stable/c/994209ddf4f430946f6247616b2e33d179243769 |