Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Race condition requires precise timing between GC softirq and swap, warranting AC:H; PR:L reflects CAP_NET_ADMIN obtainable via user namespaces on common distros.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
5DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
netfilter: ipset: fix refcount race between list:set GC and swap
__ip_set_put_byindex() resolved the index to a set pointer under RCU, then took ip_set_ref_lock in __ip_set_put() to decrement set->ref. ip_set_swap() holds that same lock while swapping both the ip_set_list slots and the two sets' ref counters, so it can interleave between the dereference and the lock acquisition, leaving the caller to decrement a set whose reference already moved to the other index and hit BUG_ON(set->ref == 0). list_set_gc() reaches this from timer softirq, which the nfnl mutex does not serialize against swap: an expiring list:set member calls list_set_del() -> ip_set_put_byindex() while IPSET_CMD_SWAP runs on the referenced sets.
Resolve the index and decrement under ip_set_ref_lock, as ip_set_swap() already does, keeping the refcount tied to the index rather than to a stale set pointer.
kernel BUG at net/netfilter/ipset/ip_set_core.c:685! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ip_set_put_byindex (net/netfilter/ipset/ip_set_core.c:870) Call Trace: <IRQ> list_set_del (net/netfilter/ipset/ip_set_list_set.c:159) set_cleanup_entries (net/netfilter/ipset/ip_set_list_set.c:181) list_set_gc (net/netfilter/ipset/ip_set_list_set.c:578) call_timer_fn (kernel/time/timer.c:1748) __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2374) run_timer_softirq (kernel/time/timer.c:2405) </IRQ> Kernel panic - not syncing: Fatal exception in interrupt
AnalysisAI
Reference count corruption in the Linux kernel netfilter ipset subsystem allows a local low-privileged attacker to trigger a kernel panic via a race condition between list:set garbage collection and ip_set_swap(). The flaw exists because __ip_set_put_byindex() resolves a set index to a pointer under RCU but acquires ip_set_ref_lock only afterward to decrement the refcount, creating a window where ip_set_swap() can atomically reassign both the ip_set_list slot and the associated refcount before the lock is taken - causing the GC path to decrement a refcount that has already moved, hitting BUG_ON(set->ref == 0) and a fatal kernel panic. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires local OS access with CAP_NET_ADMIN capability (CVSS PR:L). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 7.8 score (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects a local, low-complexity, low-privilege path to high-impact kernel compromise. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker with a local shell account on an affected Linux system enables unprivileged user namespaces to obtain CAP_NET_ADMIN, creates a list:set ipset with short-timeout entries, and scripts concurrent IPSET_CMD_SWAP operations timed to race against the GC timer expiry. When the timer softirq fires list_set_gc() while ip_set_swap() holds ip_set_ref_lock and is mid-swap, the GC path decrements a refcount already moved to another index slot, triggering BUG_ON(set->ref == 0) and an immediate kernel panic that crashes the host or VM. … |
| Remediation | The primary fix is to upgrade to the patched stable kernel for your branch: 5.10.266, 5.15.217, 6.1.184, 6.6.153, 6.12.105, 6.18.46, 7.1.10, or 7.2 (patched). … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify which Linux systems in your environment run netfilter ipset and catalog their current kernel versions, paying special attention to production systems and those supporting critical business functions. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-66578
GHSA-hf83-xv8x-wgq9