Description
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
Published: 2026-08-26
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel crash causing denial of service
Action: Update kernel
AI Analysis

Impact

A race condition exists between reference‑count handling in the netfilter ipset subsystem and its garbage‑collection routine. When an ip_set is swapped while a cleanup timer concurrently decrements the set’s reference, the stale pointer can be released, triggering a BUG_ON and a kernel panic. The resulting crash brings the entire system offline, effectively denying service.

Affected Systems

The flaw is present in the generic Linux kernel and affects any distribution that ships an unpatched kernel with the legacy ip_set code. No specific version range is listed, so all builds containing the affected netfilter ipset code are vulnerable until the refcount fix is applied.

Risk and Exploitability

The CVSS score of 7.8 indicates moderate to high severity, and the EPSS score is below 1%, indicating a very low but non‑zero exploitation probability. The vulnerability is not listed in CISA’s KEV catalog. Based on the description, it is inferred that the attack vector requires an attacker who can reach privileged ipset commands or use applications that invoke the Netfilter API, and who can time a swap operation with a cleanup timer to trigger the race. Exploitation would therefore rely on repeatedly issuing ipset swap commands or inducing rapid entry expirations, eventually causing a kernel panic and service interruption.

Generated by OpenCVE AI on August 28, 2026 at 17:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the refcount fix in ip_set_core.c
  • If an immediate update is not possible, restrict or disable ipset swap operations using firewall rules or by removing the swap command from the configuration
  • Reduce the risk of a race by disabling the ipset garbage‑collection timer or by increasing entry timeouts so cleanup does not coincide with swaps

Generated by OpenCVE AI on August 28, 2026 at 17:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
History

Fri, 28 Aug 2026 08:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-367
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 27 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Thu, 27 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Thu, 27 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Wed, 26 Aug 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description 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
Title netfilter: ipset: fix refcount race between list:set GC and swap
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-27T05:01:09.517Z

Reserved: 2026-08-15T05:44:03.931Z

Link: CVE-2026-74748

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:16:53.770

Modified: 2026-08-27T06:17:25.680

Link: CVE-2026-74748

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-26T00:00:00Z

Links: CVE-2026-74748 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T18:00:15Z

Weaknesses
  • CWE-367

    Time-of-check Time-of-use (TOCTOU) Race Condition