Raw vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HSummary
CVE-2026-23408 is a high-severity Double Free (CWE-415) 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 8th 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-23408 is a double-free vulnerability (CWE-415) in the Linux kernel's AppArmor subsystem, specifically within the aa_replace_profiles() function. The issue arises when ns_name is NULL following the aa_unpack() call on user-provided data. If ent->ns_name contains a value, it is then assigned to ns_name, but ent->ns_name is subsequently freed during aa_load_ent_free(ent), followed by a second free of ns_name itself. This affects Linux kernel versions prior to the application of the referenced patches.
The vulnerability has a CVSS v3.1 base score of 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), indicating it can be exploited by a local attacker with low privileges and low complexity, without requiring user interaction. Successful exploitation could allow the attacker to achieve high impacts on confidentiality, integrity, and availability, such as memory corruption, arbitrary code execution, or kernel crashes via the double free.
Mitigation requires updating to a patched Linux kernel version. The upstream fixes, detailed in stable kernel commit references such as https://git.kernel.org/stable/c/18b5233e860c294a847ee07869d93c0b8673a54b, https://git.kernel.org/stable/c/35f4caec1352054b9a61cfdf2bf1898073637aa0, https://git.kernel.org/stable/c/55ef2af7490aaf72f8ffe11ec44c6bcb7eb2162a, https://git.kernel.org/stable/c/5df0c44e8f5f619d3beb871207aded7c78414502, and https://git.kernel.org/stable/c/7998ab3010d2317643f91828f1853d954ef31387, resolve the issue by NULLing out ent->ns_name after transferring it to ns_name.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-17837
Vulnerability Data
In the Linux kernel, the following vulnerability has been resolved: apparmor: Fix double free of ns_name in aa_replace_profiles() if ns_name is NULL after 1071 error = aa_unpack(udata, &lh, &ns_name); and if ent->ns_name contains an ns_name in 1089 } else if…
more
(ent->ns_name) { then ns_name is assigned the ent->ns_name 1095 ns_name = ent->ns_name; however ent->ns_name is freed at 1262 aa_load_ent_free(ent); and then again when freeing ns_name at 1270 kfree(ns_name); Fix this by NULLing out ent->ns_name after it is transferred to ns_name ")
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 1 hardening rule · 1 OS baseline
—
Mitigating Controls (NIST 800-53 r5) AI
Developer testing and evaluation explicitly includes dynamic analysis and fuzzing that locate double-free defects before release.
Security engineering principles can require memory-safe allocation patterns or language features that structurally eliminate double-free opportunities.
Flaw remediation processes require identification and correction of memory-management defects such as double free once discovered.
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.
Secure SDLC practices directly prevent double-free errors via static analysis, safe memory APIs, and testing.
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.
Security testing in development can detect double-free conditions before release.
Secure development life cycle includes memory-safety practices that can prevent double-free bugs.
Application security requirements can mandate memory-safety rules that reduce double-free risk.
Secure system architecture and engineering principles can prescribe safe memory-management patterns.
Secure coding standards directly address proper use of free() and similar functions.
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` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (1 rule)
- V-248590 OL 8 must clear the page allocator to prevent use-after-free attacks. prevents CWE-415