Skip to main content
← All vulnerabilities
CVE-2024-35900

netfilter: nf_tables: reject new basechain after table flag update

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.274, 5.10.215, 5.15.154, 6.1.85, 6.6.26, and 1 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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]

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From bf8083bbf8fa202e6e5316bbd99759ab82bfe7a3 · fixed in 6d12f21f8bbe23fde25b77c2bf5973c136b8bef8; From e10f661adc556c4969c70ddaddf238bffdaf1e87 · fixed in 41bad13c0e8a5a2b47a7472cced922555372daab; From d9c4da8cb74e8ee6e58a064a3573aa37acf6c935 · fixed in 7b6fba6918714afee3e17796113ccab636255c7b; From 179d9ba5559a756f4322583388b3213fe4e391b0 · fixed in 8ba81dca416adf82fc5a2a23abc1a8cc02ad32fb; From 179d9ba5559a756f4322583388b3213fe4e391b0 · fixed in 745cf6a843896cdac8766c74379300ed73c78830; From 179d9ba5559a756f4322583388b3213fe4e391b0 · fixed in 420132bee3d0136b7fba253a597b098fe15493a7; From 179d9ba5559a756f4322583388b3213fe4e391b0 · fixed in e95bb4cba94c018be24b11f017d1c55dd6cda31a; From 179d9ba5559a756f4322583388b3213fe4e391b0 · fixed in 994209ddf4f430946f6247616b2e33d179243769; From 5.4.262 · fixed in 5.4.274; From 5.10.202 · fixed in 5.10.215

  • Linux Linux

    5.13

  • KernelLinux

    fixed in 5.4.274; From 5.5.0 · fixed in 5.10.215; From 5.11.0 · fixed in 5.15.154; From 5.13.0 · fixed in 6.1.85; From 5.16.0 · fixed in 6.6.26; From 6.2.0 · fixed in 6.8.5

References 8

git.kernel.org