---
id: CVE-2026-23272
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  netfilter: nf_tables: unconditionally bump set->nelems before insertion

  In case that the set is full, a new element gets published then removed
  without waiting for the…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  netfilter: nf_tables: unconditionally bump set->nelems before insertion

  In case that the set is full, a new element gets published then removed
  without waiting for the…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.9.33, < 4.10'
  - 'linux_kernel >= 4.10.1, < 6.18.17'
  - 'linux_kernel >= 6.19, < 6.19.7'
  - linux_kernel = 4.10
  - linux_kernel = 7.0
patched:
  - linux_kernel 6.19.7
published: '2026-03-20'
updated: '2026-07-04'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-23272'
references:
  - url: 'https://git.kernel.org/stable/c/25fcaef7948912652905e96922f36583a84fffed'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6826131c7674329335ca25df2550163eb8a1fd0c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/86bc4b1a0f672d47ac19f9022432cb6a2e01cb33'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ccb8c8f3c1127cf34d18c737309897c68046bf21'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/def602e498a4f951da95c95b1b8ce8ae68aa733a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e3ccb11fc8249759d23326038c8db987ddaabc77'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00123
epssPercentile: 0.01767
ingestedAt: '2026-07-04T12:56:09.317Z'
---

## Overview

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

netfilter: nf_tables: unconditionally bump set->nelems before insertion

In case that the set is full, a new element gets published then removed
without waiting for the RCU grace period, while RCU reader can be
walking over it already.

To address this issue, add the element transaction even if set is full,
but toggle the set_full flag to report -ENFILE so the abort path safely
unwinds the set to its previous state.

As for element updates, decrement set->nelems to restore it.

A simpler fix is to call synchronize_rcu() in the error path.
However, with a large batch adding elements to already maxed-out set,
this could cause noticeable slowdown of such batches.

## Affected

- `linux_kernel >= 4.9.33, < 4.10`
- `linux_kernel >= 4.10.1, < 6.18.17`
- `linux_kernel >= 6.19, < 6.19.7`
- `linux_kernel = 4.10`
- `linux_kernel = 7.0`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.19.7`
