CVE-2024-41042

Source
https://cve.org/CVERecord?id=CVE-2024-41042
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-41042.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-41042
Downstream
Related
Published
2024-07-29T14:31:55.530Z
Modified
2026-05-07T04:17:30.549454Z
Summary
netfilter: nf_tables: prefer nft_chain_validate
Details

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

netfilter: nftables: prefer nftchain_validate

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

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

nftablescheck_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 nftvalidateregister_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).

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41042.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
20a69341f2d00cd042e81c82289fba8a13c05a25
Fixed
1947e4c3346faa8ac7e343652c0fd3b3e394202f
Fixed
cd4348e0a50286282c314ad6d2b0740e7c812c24
Fixed
31c35f9f89ef585f1edb53e17ac73a0ca4a9712b
Fixed
8246b7466c8da49d0d9e85e26cbd69dd6d3e3d1e
Fixed
b6b6e430470e1c3c5513311cb35a15a205595abe
Fixed
717c91c6ed73e248de6a15bc53adefb81446c9d0
Fixed
9df785aeb7dcc8efd1d4110bb27d26005298ebae
Fixed
cff3bd012a9512ac5ed858d38e6ed65f6391008c

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-41042.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.13.0
Fixed
4.19.320
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.282
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.224
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.165
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.105
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.46
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.9.10

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-41042.json"