CVE-2026-64189

netfilter: ipset: fix race between dump and ip_set_list resize

State
Published
Severity
7.8 High
Published
Jul 20, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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

netfilter: ipset: fix race between dump and ip_set_list resize

The release path of ip_set_dump_do() and ip_set_dump_done() read inst->ip_set_list via ip_set_ref_netlink(), a plain rcu_dereference_raw() of the array pointer. These run from netlink_recvmsg() without the nfnl mutex and without an RCU read-side critical section.

A concurrent ip_set_create() can grow the array: it publishes the new array, calls synchronize_net() and then kvfree()s the old one. Since the dump paths read the array outside any RCU reader, synchronize_net() does not wait for them and the old array can be freed while they still index into it, causing a use-after-free.

The dumped set itself stays pinned via set->ref_netlink, so only the array load needs protecting. Take rcu_read_lock() around it, matching ip_set_get_byname() and __ip_set_put_byindex().

BUG: KASAN: slab-use-after-free in ip_set_dump_do (net/netfilter/ipset/ip_set_core.c:1697) Read of size 8 at addr ffff88800b5c4018 by task exploit/150 Call Trace: ... kasan_report (mm/kasan/report.c:595) ip_set_dump_do (net/netfilter/ipset/ip_set_core.c:1697) netlink_dump (net/netlink/af_netlink.c:2325) netlink_recvmsg (net/netlink/af_netlink.c:1976) sock_recvmsg (net/socket.c:1159) __sys_recvfrom (net/socket.c:2315) ... Oops: general protection fault, probably for non-canonical address ... KASAN NOPTI KASAN: maybe wild-memory-access in range [0x02d6...d0-0x02d6...d7] RIP: 0010:ip_set_dump_do (net/netfilter/ipset/ip_set_core.c:1698) Kernel panic - not syncing: Fatal exception

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Affected Products

ProductVersions
LinuxLinux
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before a7a299277959683204d73333c32c092fd69327d4Affected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before 1bc67c3fc98e9fc07032cc56afcdbc690c47d11eAffected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before e8a9976b61f1bc4aa7fd25fa26726dfdf2adf710Affected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before 96fbafc20ebd9a613736c2998b89c539fe3042f5Affected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before ff86ea9b7fdf70564e60436fbee68c96bc459943Affected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before 81d54c766337b923eec26da0a13406760b091093Affected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before e8ee198bbc04a32d336e79160fde980e0235b39fAffected
  • 8a02bdd50b2ecb6d62121d2958d3ea186cc88ce7 to before 7cd9103283b26b917360ec99d7d2f2d761bcf1abAffected
  • 2f6bf7917f55f9dae913193e49672b3598620eabAffected
  • 4.19.5 to before 4.20Affected
LinuxLinux
  • 4.20Affected
  • before 4.20Not affected
  • 5.10.261 through 5.10.*Not affected
  • 5.15.212 through 5.15.*Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.1.4 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.