CVE-2026-74748

Source
https://cve.org/CVERecord?id=CVE-2026-74748
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74748.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-74748
Downstream
Published
2026-08-26T14:36:57.164Z
Modified
2026-08-28T03:46:48.639271722Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
netfilter: ipset: fix refcount race between list:set GC and swap
Details

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

netfilter: ipset: fix refcount race between list:set GC and swap

__ipsetputbyindex() resolved the index to a set pointer under RCU, then took ipsetreflock in __ipsetput() to decrement set->ref. ipsetswap() holds that same lock while swapping both the ipsetlist 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 BUGON(set->ref == 0). listsetgc() reaches this from timer softirq, which the nfnl mutex does not serialize against swap: an expiring list:set member calls listsetdel() -> ipsetputbyindex() while IPSETCMDSWAP runs on the referenced sets.

Resolve the index and decrement under ipsetreflock, as ipset_swap() already does, keeping the refcount tied to the index rather than to a stale set pointer.

kernel BUG at net/netfilter/ipset/ipsetcore.c:685! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ipsetputbyindex (net/netfilter/ipset/ipsetcore.c:870) Call Trace: <IRQ> listsetdel (net/netfilter/ipset/ipsetlistset.c:159) setcleanupentries (net/netfilter/ipset/ipsetlistset.c:181) listsetgc (net/netfilter/ipset/ipsetlistset.c:578) calltimerfn (kernel/time/timer.c:1748) _runtimers (kernel/time/timer.c:1799 kernel/time/timer.c:2374) runtimersoftirq (kernel/time/timer.c:2405) </IRQ> Kernel panic - not syncing: Fatal exception in interrupt

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74748.json",
    "cna_assigner": "Linux"
}
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
9076aea76538556224e7d73ab718f8841330818a
Fixed
97a01de0c6321b7210d30d0a4d60f10f561097c7
Fixed
c21afc7c216a4d257a4f3f300e0791890bc846b9
Fixed
b0aab9dd1a348b99d75ff52765719d0cc2050630
Fixed
b891e7a6bb06e0f6560e5932665ac660acd12225
Fixed
20cb13a523f0a05cb2d0a7d72abae687683712e0
Fixed
cb20da33839f28f590c99f16bafaa6151451c0e8
Fixed
24ffcb1e1688c55fd2a505f064295cd28eac546d
Fixed
0c88868271653537ed443272dd8e7d13634d214b

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74748.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.8.0
Fixed
5.10.266
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.217
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.184
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.153
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.105
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.46
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.10

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74748.json"