Files
vuln-cve/data/2026/23xxx/CVE-2026-23408.json
T

264 lines
13 KiB
JSON

{
"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"
}
}
}
}