Security Resilience

CVE-2026-31665

Memory Safety in Linux Kernel 4.19.1 – 5.10.253

Published
24 April 2026
Modified
19 October 2026
Patch / advisory
CVSS Score v3.1 7.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0018 7th percentile
Risk Priority 55 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-31665 is a high-severity Use After Free (CWE-416) vulnerability in Linux Linux Kernel. Its CVSS base score is 7.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Client Execution (T1203); ranked at the 7th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-31665 is a use-after-free vulnerability in the Linux kernel's netfilter nft_ct subsystem. The issue arises in nft_ct_timeout_obj_destroy(), which calls kfree() on a timeout object immediately after nf_ct_untimeout(), without waiting for an RCU grace period. This allows concurrent packet processing on other CPUs to retain RCU-protected references to the freed object, obtained via rcu_dereference() in nf_ct_timeout_data(). A KASAN report confirms the use-after-free during nf_conntrack_tcp_packet, triggered in the call chain from tcp_sendmsg_locked and __sys_sendto.

A local attacker with low privileges (AV:L/AC:L/PR:L/UI:N) can exploit this vulnerability. By initializing and destroying nft_ct timeout objects via nf_tables_newobj and nf_tables_trans_destroy_work, while simultaneously processing packets through nf_conntrack_in and nf_hook_slow, the attacker can access the freed memory. The CVSS v3.1 base score of 7.8 (C:H/I:H/A:H) reflects high impacts on confidentiality, integrity, and availability, potentially enabling code execution or denial of service.

Mitigation requires updating to patched Linux kernel versions, as detailed in the referenced stable branch commits. These patches add an rcu_head to struct nf_ct_timeout and replace kfree() with kfree_rcu() to defer freeing until after an RCU grace period, aligning with the handling in nfnetlink_cttimeout.c.

EU & UK References

Vulnerability Data

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_ct: fix use-after-free in timeout object destroy nft_ct_timeout_obj_destroy() frees the timeout object with kfree() immediately after nf_ct_untimeout(), without waiting for an RCU grace period. Concurrent packet processing on other…

more

CPUs may still hold RCU-protected references to the timeout object obtained via rcu_dereference() in nf_ct_timeout_data(). Add an rcu_head to struct nf_ct_timeout and use kfree_rcu() to defer freeing until after an RCU grace period, matching the approach already used in nfnetlink_cttimeout.c. KASAN report: BUG: KASAN: slab-use-after-free in nf_conntrack_tcp_packet+0x1381/0x29d0 Read of size 4 at addr ffff8881035fe19c by task exploit/80 Call Trace: nf_conntrack_tcp_packet+0x1381/0x29d0 nf_conntrack_in+0x612/0x8b0 nf_hook_slow+0x70/0x100 __ip_local_out+0x1b2/0x210 tcp_sendmsg_locked+0x722/0x1580 __sys_sendto+0x2d8/0x320 Allocated by task 75: nft_ct_timeout_obj_init+0xf6/0x290 nft_obj_init+0x107/0x1b0 nf_tables_newobj+0x680/0x9c0 nfnetlink_rcv_batch+0xc29/0xe00 Freed by task 26: nft_obj_destroy+0x3f/0xa0 nf_tables_trans_destroy_work+0x51c/0x5c0 process_one_work+0x2c4/0x5a0

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-4611Same product: Linux Linux Kernel
CVE-2025-21760Same product: Linux Linux Kernel
CVE-2024-49855Same product: Linux Linux Kernel
CVE-2024-57984Same product: Linux Linux Kernel
CVE-2026-43303Same product: Linux Linux Kernel
CVE-2026-46036Same product: Linux Linux Kernel
CVE-2024-50086Same product: Linux Linux Kernel
CVE-2026-43402Same product: Linux Linux Kernel
CVE-2024-42075Same product: Linux Linux Kernel
CVE-2023-52931Same product: Linux Linux Kernel

Affected Assets

linux
linux kernel
4.19, 7.0 · 4.19.1 — 5.10.253 · 5.11 — 5.15.203 · 5.16 — 6.1.169

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 3 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.4.3

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation can discover use-after-free bugs through dynamic analysis or fuzzing.

Engineering principles can require memory-safe constructs or languages that structurally avoid introducing use-after-free.

Process isolation confines the blast radius of use-after-free memory corruption to a single execution domain.

Memory protection controls limit exploitation impact by blocking unauthorized code execution from dangling pointers.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
blocks

Secure SDLC practices directly incorporate memory-safety tooling and reviews that prevent most use-after-free defects.

ID.RA-01 partial match
blocks

Vulnerability identification processes can discover use-after-free issues via scanning or analysis but do not prevent their introduction.

PR.PS-02 partial match
blocks

Routine patching removes known use-after-free instances after they have been introduced in released software.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development can detect use-after-free bugs before release.

prevents

Secure coding standards directly prescribe avoidance of use-after-free patterns.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (higher-evidence rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248592 OL 8 must clear memory when it is freed to prevent use-after-free attacks. blocks CWE-416
RHEL 8 (1 rule)
  • V-230279 RHEL 8 must clear memory when it is freed to prevent use-after-free attacks. blocks CWE-416
RHEL 9 (1 rule)
  • V-257794 RHEL 9 must clear memory when it is freed to prevent use-after-free attacks. blocks CWE-416

References