CVE-2024-41042

netfilter: nf_tables: prefer nft_chain_validate

State
Published
Severity
Not scored
Published
Jul 29, 2024
Updated
May 11, 2026
Reserved
Jul 12, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nf_tables: prefer nft_chain_validate

nft_chain_validate already performs loop detection because a cycle will result in a call stack overflow (ctx->level >= NFT_JUMP_STACK_SIZE).

It also follows maps via ->validate callback in nft_lookup, so there appears no reason to iterate the maps again.

nf_tables_check_loops() and all its helper functions can be removed. This improves ruleset load time significantly, from 23s down to 12s.

This also fixes a crash bug. Old loop detection code can result in unbounded recursion:

BUG: TASK stack guard page was hit at .... Oops: stack guard page: 0000 [#1] PREEMPT SMP KASAN CPU: 4 PID: 1539 Comm: nft Not tainted 6.10.0-rc5+ #1 [..]

with a suitable ruleset during validation of register stores.

I can't see any actual reason to attempt to check for this from nft_validate_register_store(), at this point the transaction is still in progress, so we don't have a full picture of the rule graph.

For nf-next it might make sense to either remove it or make this depend on table->validate_state in case we could catch an error earlier (for improved error reporting to userspace).

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before 1947e4c3346faa8ac7e343652c0fd3b3e394202fAffected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before cd4348e0a50286282c314ad6d2b0740e7c812c24Affected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before 31c35f9f89ef585f1edb53e17ac73a0ca4a9712bAffected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before 8246b7466c8da49d0d9e85e26cbd69dd6d3e3d1eAffected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before b6b6e430470e1c3c5513311cb35a15a205595abeAffected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before 717c91c6ed73e248de6a15bc53adefb81446c9d0Affected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before 9df785aeb7dcc8efd1d4110bb27d26005298ebaeAffected
  • 20a69341f2d00cd042e81c82289fba8a13c05a25 to before cff3bd012a9512ac5ed858d38e6ed65f6391008cAffected
LinuxLinux
  • 3.13Affected
  • before 3.13Not affected
  • 4.19.320 through 4.19.*Not affected
  • 5.4.282 through 5.4.*Not affected
  • 5.10.224 through 5.10.*Not affected
  • 5.15.165 through 5.15.*Not affected
  • 6.1.105 through 6.1.*Not affected
  • 6.6.46 through 6.6.*Not affected
  • 6.9.10 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.