CVE-2024-42109

netfilter: nf_tables: unconditionally flush pending work before notifier

MEDIUM
5.5
CVSS Score
Published: July 30, 2024 at 07:46 AM UTC
Updated: August 5, 2026 at 12:04 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: unconditionally flush pending work before notifier syzbot reports: KASAN: slab-uaf in nft_ctx_update include/net/netfilter/nf_tables.h:1831 KASAN: slab-uaf in nft_commit_release net/netfilter/nf_tables_api.c:9530 KASAN: slab-uaf int nf_tables_trans_destroy_work+0x152b/0x1750 net/netfilter/nf_tables_api.c:9597 Read of size 2 at addr ffff88802b0051c4 by task kworker/1:1/45 [..] Workqueue: events nf_tables_trans_destroy_work Call Trace: nft_ctx_update include/net/netfilter/nf_tables.h:1831 [inline] nft_commit_release net/netfilter/nf_tables_api.c:9530 [inline] nf_tables_trans_destroy_work+0x152b/0x1750 net/netfilter/nf_tables_api.c:9597 Problem is that the notifier does a conditional flush, but its possible that the table-to-be-removed is still referenced by transactions being processed by the worker, so we need to flush unconditionally. We could make the flush_work depend on whether we found a table to delete in nf-next to avoid the flush for most cases. AFAICS this problem is only exposed in nf-next, with commit e169285f8c56 ("netfilter: nf_tables: do not store nft_ctx in transaction objects"), with this commit applied there is an unconditional fetch of table->family which is whats triggering the above splat.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 6.4.135.15.129 ≤ v < 5.15.1636.1.50 ≤ v < 6.1.986.4.13 ≤ v < 6.56.5 ≤ v < 6.106.5 ≤ v < 6.6.396.5 ≤ v < 6.9.96.7 ≤ v < 6.9.92c9f0293280e258606e54ed2b96fa71498432eae4167aa477abcf62b0dfda51f3513280fa73cd58841841b585e53babdfb0fa6fdfa54f6d7c28c12065.15.1296.1.506.4.136.5f22954f8c58fd5f5489f5980796914e306757e77
Vendor states this is fixed in 09e650c3a3a7d804430260510534ccbf71c75b2e (fixed)
Vendor states this is fixed in 3325628cb36b7f216c5716e7b5124d9dc81199e4 (fixed)
Vendor states this is fixed in 4c06c13317b9a08decedcd7aaf706691e336277c (fixed)
Vendor states this is fixed in 55a40406aac555defe9bdd0adec9508116ce7cb1 (fixed)
Vendor states this is fixed in 9f6958ba2e902f9820c594869bd710ba74b7c4c0 (fixed)
Vendor states this is fixed in 5.15.163 (unaffected)
Vendor states this is fixed in 6.1.98 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.5 (unaffected)
Vendor states this is fixed in 6.6.39 (unaffected)
Vendor states this is fixed in 6.9.9 (unaffected)

References (6)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/09e650c3a3a7d804430260510534ccbf71c75b2e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3325628cb36b7f216c5716e7b5124d9dc81199e4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4c06c13317b9a08decedcd7aaf706691e336277c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/55a40406aac555defe9bdd0adec9508116ce7cb1
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9f6958ba2e902f9820c594869bd710ba74b7c4c0
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card