{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-23408",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-01-13T15:37:46.013Z",
        "datePublished": "2026-04-01T08:36:37.873Z",
        "dateUpdated": "2026-08-05T12:21:29.316Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T12:21:29.316Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\napparmor: Fix double free of ns_name in aa_replace_profiles()\n\nif ns_name is NULL after\n1071         error = aa_unpack(udata, &lh, &ns_name);\n\nand if ent->ns_name contains an ns_name in\n1089                 } else if (ent->ns_name) {\n\nthen ns_name is assigned the ent->ns_name\n1095                         ns_name = ent->ns_name;\n\nhowever ent->ns_name is freed at\n1262                 aa_load_ent_free(ent);\n\nand then again when freeing ns_name at\n1270         kfree(ns_name);\n\nFix this by NULLing out ent->ns_name after it is transferred to ns_name\n\n\")"
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerability is triggered by writing to AppArmor's securityfs interface (.load or .replace files), which requires local system access.\nAC:L - The double free is deterministic and triggered reliably by loading a policy where ent->ns_name is set and ns_name is NULL after aa_unpack(). No race condition or special conditions are needed.\nPR:L - CAP_MAC_ADMIN is required but can be obtained via user namespaces with the default unprivileged_userns_apparmor_policy=1 setting, making this reachable by unprivileged local users.\nUI:N - No user interaction is required; the attacker can trigger the vulnerability entirely by loading crafted AppArmor policy data.\nS:U - The vulnerability stays within the kernel's security authority; there is no crossing of a security boundary like a VM escape or sandbox escape.\nC:H - A double free enables use-after-free conditions where the attacker can control freed object contents via heap spraying, allowing arbitrary kernel memory reads.\nI:H - The double free enables heap corruption and arbitrary write primitives through heap spraying, potentially allowing kernel code execution.\nA:H - A double free causes immediate kernel heap corruption which can lead to kernel crashes (panic/oops) even without deliberate exploitation."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "security/apparmor/policy.c"
                    ],
                    "versions": [
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "c6347a2116ecccb8fd9ee4ebc75ae41d1d7ef689",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "c053ae381ce227577567d1ef10090ce7506d7a28",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "35f4caec1352054b9a61cfdf2bf1898073637aa0",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "55ef2af7490aaf72f8ffe11ec44c6bcb7eb2162a",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "86feeccd6b93ed94bd6655f30de80f163f8d5a45",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "7998ab3010d2317643f91828f1853d954ef31387",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "18b5233e860c294a847ee07869d93c0b8673a54b",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "145a0ef21c8e944957f58e2c8ffcd8a10f46266a",
                            "lessThan": "5df0c44e8f5f619d3beb871207aded7c78414502",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "security/apparmor/policy.c"
                    ],
                    "versions": [
                        {
                            "version": "5.5",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.5",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.253",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.203",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.169",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.130",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.77",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.18",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.19.8",
                            "lessThanOrEqual": "6.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.0",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "5.10.253"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "5.15.203"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "6.1.169"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "6.6.130"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "6.12.77"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "6.18.18"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "6.19.8"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.5",
                                    "versionEndExcluding": "7.0"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/c6347a2116ecccb8fd9ee4ebc75ae41d1d7ef689"
                },
                {
                    "url": "https://git.kernel.org/stable/c/c053ae381ce227577567d1ef10090ce7506d7a28"
                },
                {
                    "url": "https://git.kernel.org/stable/c/35f4caec1352054b9a61cfdf2bf1898073637aa0"
                },
                {
                    "url": "https://git.kernel.org/stable/c/55ef2af7490aaf72f8ffe11ec44c6bcb7eb2162a"
                },
                {
                    "url": "https://git.kernel.org/stable/c/86feeccd6b93ed94bd6655f30de80f163f8d5a45"
                },
                {
                    "url": "https://git.kernel.org/stable/c/7998ab3010d2317643f91828f1853d954ef31387"
                },
                {
                    "url": "https://git.kernel.org/stable/c/18b5233e860c294a847ee07869d93c0b8673a54b"
                },
                {
                    "url": "https://git.kernel.org/stable/c/5df0c44e8f5f619d3beb871207aded7c78414502"
                }
            ],
            "title": "apparmor: Fix double free of ns_name in aa_replace_profiles()",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}