Skip to content
WatchlistHigh

CVE-2026-23111linux Use-After-Free

kernel: Kernel: Privilege escalation or denial of service in nf_tables via inverted element activity check

Published Feb 13, 2026 · Updated Oct 16, 2026 · Also known as DEBIAN-CVE-2026-23111, ROOT-OS-DEBIAN-11-CVE-2026-23111, ROOT-OS-DEBIAN-12-CVE-2026-23111, ROOT-OS-DEBIAN-13-CVE-2026-23111, ROOT-OS-UBUNTU-2204-CVE-2026-23111, ROOT-OS-UBUNTU-2404-CVE-2026-23111, USN-8148-1, USN-8148-2, USN-8148-3

Key Facts

Patch in the next maintenance window
  • CVE-2026-23111 is a high-severity vulnerability (CVSS 7.8 v3.1) affecting linux-6.1 (debian), linux (debian), rootio-linux and 22 more products.
  • It is not listed in any known-exploited vulnerabilities catalog. No public exploit code is known.
  • EPSS estimates a 0.5% probability of exploitation in the next 30 days.
  • Fixed versions are available, including aws 119.1, aws-5.15 119.1, aws-6.8 119.1.
  • Brandefense priority: patch in the next maintenance window, because of its high severity, although no exploitation is known.

Scores

CVSS v3.1

7.8

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

EPSS (30-day exploit likelihood)

0.5%

Higher than 42.8% of all scored CVEs

Exploit maturity

Proof of concept

ATLAS score

49/100

Publication score, see How it works

Exploitation Verdict

KEV listed

Not listed

Federal due date

None

No federal due date

Ransomware use

Not reported

Attributed actors

None named

Exploit & Defence Guidance

Exploit maturity

Proof of concept

Public exploit code

7

Proof-of-concept links

In-the-wild evidence

0

Reports of active use

Description

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

netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()

nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.

nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.

Compare the non-catchall activate callback, which is correct:

nft_mapelem_activate(): if (nft_set_elem_active(ext, iter->genmask)) return 0; /* skip active, process inactive */

With the buggy catchall version:

nft_map_catchall_activate(): if (!nft_set_elem_active(ext, genmask)) continue; /* skip inactive, process active */

The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.

This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.

Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.

Affected Products

3,740 affected entries in total
ProductAffected versionsFixed in
linux-6.1debianSee advisory6.1.164-1~deb11u1
linuxdebianSee advisory6.1.164-1
rootio-linuxrootioSee advisory5.10.251-5.root.io.85
aws-5.15ubuntuSee advisory119.1
aws-6.8ubuntuSee advisory119.1
20 more affected products in the full CVE brief

Patched Releases

aws

119.1

aws-5.15

119.1

aws-6.8

119.1

aws-hwe

119.1

azure

119.1

azure-4.15

119.1

azure-5.15

119.1

bpftool

1:6.1.163-186.299.amzn2023, 5.15.0-318.199.3.2.el8uek, 5.15.0-318.199.3.2.el9uek, 6.1.163-1.ph5, 6.1.177-1.ph5, 7.7.0+6.17.0-20.20, NA

bpftool6.12

1:6.12.73-95.123.amzn2023

cluster-md-kmp-64kb

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

cluster-md-kmp-azure

6.12.0-160000.27.1

cluster-md-kmp-default

6.12.0-160000.27.1, 6.4.0-150600.23.92.1, 6.4.0-150700.53.34.1

cluster-md-kmp-rt

6.12.0-160000.27.1, 6.4.0-150700.7.34.1

dlm-kmp-64kb

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dlm-kmp-azure

6.12.0-160000.27.1

dlm-kmp-default

6.12.0-160000.27.1, 6.4.0-150600.23.92.1, 6.4.0-150700.53.34.1

dlm-kmp-rt

6.12.0-160000.27.1, 6.4.0-150700.7.34.1

dtb-allwinner

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-altera

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-amazon

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-amd

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-amlogic

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-apm

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-apple

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

dtb-arm

6.12.0-160000.27.1, 6.4.0-150600.23.92.1

Timeline

  1. Publicly disclosed

    Feb 13, 2026

  2. Last updated

    Oct 16, 2026

Weakness Type

  • CWE-416 Use After Free
  • CWE-672 Operation on a Resource after Expiration or Release

References

15 more references in the full CVE brief

FAQ

Common Questions.

Is CVE-2026-23111 On Your Attack Surface?

Brandefense matches it against the products discovered on your perimeter and opens a finding the day a CVE like this is listed.

Request A Demo

Figures as of Oct 19, 2026. Compiled by Brandefense technologies from public vulnerability catalogs; scoring as described in How it works.

To report an error, contact Brandefense.