CVE-2026-72436 PUBLISHED

netfilter: ipset: Don't use test_bit() in lockless RCU readers in hash types

Assigner: Linux
Reserved: 09.08.2026 Published: 15.08.2026 Updated: 17.08.2026

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

netfilter: ipset: Don't use test_bit() in lockless RCU readers in hash types

Sashiko pointed out that there are a few lockless RCU readers using test_bit() which is a relaxed atomic operation and provides no memory barrier guarantees. Use test_bit_acquire() instead where the operation may run parallel with add/del/gc, i.e. is not one from the next cases

  • protected by region lock
  • in a set destroy phase
  • in a new/temporary set creation phase

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8

AV:N - The vulnerable mtype_test() runs on every packet matched by iptables/nftables xt_set rules in PREROUTING/INPUT/FORWARD, so a remote attacker reaches the bug by sending network traffic to internet-facing servers using ipset-based firewall blocklists. AC:L - The attacker controls both sides of the race by flooding packets that trigger lockless RCU readers while concurrently driving hash add/del via SET target rules or timeout GC on the same ipset, making the memory-ordering race reliably winnable. PR:N - No credentials or local access are required on the target; exploitation needs only unauthenticated network packets to a host running ipset netfilter rules, a standard deployment on firewalls, mail servers, and CDN edge nodes. UI:N - No victim interaction is needed; the attack is fully automated by sending network traffic and does not require mounting filesystems, opening files, or any other user action. S:U - The vulnerability corrupts or leaks kernel heap data within the same host security boundary; it does not cross VM, container, or IOMMU isolation boundaries. C:H - Without acquire semantics, test_bit() can observe a slot as used before element writes are visible or after deletion, causing reads of uninitialized, stale, or freed hbucket element and extension memory—a UAF-class kernel information disclosure. I:H - Stale or torn reads of hash bucket elements during concurrent add/del/gc constitute kernel heap memory safety violations that can corrupt netfilter matching decisions and be further leveraged for control-flow or data manipulation attacks. A:H - Reading partially initialized or post-destroy hash element memory during softirq packet processing on loaded firewall datapaths can trigger kernel oopses, panics, or hangs, causing complete loss of availability.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 18f84d41d34fa35d0d64bbaea01fe664553ecc06 to c107233d2ff4fd7cef5d02f9124b99194957a710 (excl.)
  • affected from 18f84d41d34fa35d0d64bbaea01fe664553ecc06 to 6329d3a9afe715fddda0460cfa46b496d61c2fe0 (excl.)
  • affected from 18f84d41d34fa35d0d64bbaea01fe664553ecc06 to 7445fe965b7d8756070a40e80f8b73348ccda1d7 (excl.)
  • affected from 18f84d41d34fa35d0d64bbaea01fe664553ecc06 to c4d257734e91bfcdc71d41843392dd6400b5bb1b (excl.)
  • affected from 18f84d41d34fa35d0d64bbaea01fe664553ecc06 to 3219d74e4536658c937fd878a327257b86ce80dd (excl.)
  • affected from 18f84d41d34fa35d0d64bbaea01fe664553ecc06 to e4b4984e28c16406ecb318444dea4a8bf47def3e (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.2 is affected
  • unaffected from 0 to 4.2 (excl.)
  • unaffected from 6.1.178 to 6.1.* (incl.)
  • unaffected from 6.6.145 to 6.6.* (incl.)
  • unaffected from 6.12.97 to 6.12.* (incl.)
  • unaffected from 6.18.40 to 6.18.* (incl.)
  • unaffected from 7.1.5 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References