Use After Free Affecting kernel-modules-extra-matched package, versions <0:6.12.0-124.47.1.el10_1


Severity

Recommended
medium

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.81% (53rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RHEL10-KERNELMODULESEXTRAMATCHED-15880077
  • published3 Apr 2026
  • disclosed4 Mar 2026

Introduced: 4 Mar 2026

CVE-2026-23231  (opens in a new tab)
CWE-416  (opens in a new tab)

How to fix?

Upgrade RHEL:10 kernel-modules-extra-matched to version 0:6.12.0-124.47.1.el10_1 or higher.
This issue was patched in RHSA-2026:6053.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel-modules-extra-matched package and not the kernel-modules-extra-matched package as distributed by RHEL. See How to fix? for RHEL:10 relevant fixed versions and status.

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

netfilter: nf_tables: fix use-after-free in nf_tables_addchain()

nf_tables_addchain() publishes the chain to table->chains via list_add_tail_rcu() (in nft_chain_add()) before registering hooks. If nf_tables_register_hook() then fails, the error path calls nft_chain_del() (list_del_rcu()) followed by nf_tables_chain_destroy() with no RCU grace period in between.

This creates two use-after-free conditions:

  1. Control-plane: nf_tables_dump_chains() traverses table->chains under rcu_read_lock(). A concurrent dump can still be walking the chain when the error path frees it.

  2. Packet path: for NFPROTO_INET, nf_register_net_hook() briefly installs the IPv4 hook before IPv6 registration fails. Packets entering nft_do_chain() via the transient IPv4 hook can still be dereferencing chain->blob_gen_X when the error path frees the chain.

Add synchronize_rcu() between nft_chain_del() and the chain destroy so that all RCU readers -- both dump threads and in-flight packet evaluation -- have finished before the chain is freed.

CVSS Base Scores

version 3.1