CVE-2024-41042

Severity CVSS v4.0:
Pending analysis
Type:
CWE-787 Out-of-bounds Write
Publication date:
29/07/2024
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> netfilter: nf_tables: prefer nft_chain_validate<br /> <br /> nft_chain_validate already performs loop detection because a cycle will<br /> result in a call stack overflow (ctx-&gt;level &gt;= NFT_JUMP_STACK_SIZE).<br /> <br /> It also follows maps via -&gt;validate callback in nft_lookup, so there<br /> appears no reason to iterate the maps again.<br /> <br /> nf_tables_check_loops() and all its helper functions can be removed.<br /> This improves ruleset load time significantly, from 23s down to 12s.<br /> <br /> This also fixes a crash bug. Old loop detection code can result in<br /> unbounded recursion:<br /> <br /> BUG: TASK stack guard page was hit at ....<br /> Oops: stack guard page: 0000 [#1] PREEMPT SMP KASAN<br /> CPU: 4 PID: 1539 Comm: nft Not tainted 6.10.0-rc5+ #1<br /> [..]<br /> <br /> with a suitable ruleset during validation of register stores.<br /> <br /> I can&amp;#39;t see any actual reason to attempt to check for this from<br /> nft_validate_register_store(), at this point the transaction is still in<br /> progress, so we don&amp;#39;t have a full picture of the rule graph.<br /> <br /> For nf-next it might make sense to either remove it or make this depend<br /> on table-&gt;validate_state in case we could catch an error earlier<br /> (for improved error reporting to userspace).

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.13 (including) 4.19.320 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.282 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.224 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.165 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.105 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.46 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.9.10 (excluding)
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc7:*:*:*:*:*:*