CVE-2026-23231
kernel: kernel: Privilege escalation or denial of service via use-after-free in nf_tables_addchain()
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · March 4, 2026
Updated · September 11, 2026
Description
A flaw was found in the Linux kernel. A local attacker with CAP_NET_ADMIN capabilities, or remote packet traffic, could exploit a use-after-free vulnerability in the nf_tables_addchain() function's error handling. Successful exploitation could lead to a kernel crash, resulting in a Denial of Service (DoS), or potentially privilege escalation.
Statement
A use after free can occur in nf_tables_addchain error handling because a new chain is published to table chains via RCU before hook registration completes and is then freed without an RCU grace period when hook registration fails. This creates a race with RCU readers in the control plane such as nf_tables_dump_chains and also with in flight packet evaluation when an IPv4 hook is transiently installed for NFPROTO_INET and later IPv6 hook registration fails. For the CVSS the PR is L because a local actor with CAP_NET_ADMIN can induce the failing add chain path while remote packet traffic may hit the transient hook and trigger the UAF window. Impact ranges from a kernel crash to potential privilege escalation.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
In order to trigger the issue, it requires the ability to create user/net namespaces.
On non-containerized deployments of Red Hat Enterprise Linux 7.4 and later, it is recommended to disable user namespaces by setting user.max_user_namespaces to 0:
Make it persistent across reboot
On RHEL 7.4, you can put the setting in /etc/sysctl.conf:
echo "user.max_user_namespaces=0" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
On RHEL8 and above
echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
On containerized deployments, such as Red Hat OpenShift Container Platform, do not use this mitigation as the functionality is needed to be enabled.
CVSS / CWE
CVSS 3.1 · 7.5CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-416 · Use After Free