{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-46823", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-09-11T15:12:18.285Z", "datePublished": "2024-09-27T12:39:23.959Z", "dateUpdated": "2026-08-05T11:38:50.296Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:38:50.296Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nkunit/overflow: Fix UB in overflow_allocation_test\n\nThe 'device_name' array doesn't exist out of the\n'overflow_allocation_test' function scope. However, it is being used as\na driver name when calling 'kunit_driver_create' from\n'kunit_device_register'. It produces the kernel panic with KASAN\nenabled.\n\nSince this variable is used in one place only, remove it and pass the\ndevice name into kunit_device_register directly as an ascii string." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.4, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:L - The vulnerable code is the in-kernel `overflow` KUnit suite, reached only during kernel/module initialization or through a local write to `/sys/kernel/debug/kunit/overflow/run`. No remote peer data or network protocol reaches `overflow_allocation_test()`.\nAC:L - The dangling stack pointer is stored unconditionally and dereferenced on every single execution of the test suite — there is no race to win, no allocation failure to induce, and no memory-layout precondition for triggering the use-after-free itself. `kthread` teardown between the test body and the cleanup thread guarantees the stack is already freed at dereference time.\nPR:N - On a kernel built with `CONFIG_OVERFLOW_KUNIT_TEST`, the suite runs automatically during kernel initialization with no authentication, capability check, or credential of any kind gating execution of the vulnerable path. The flaw is reached before any privilege boundary exists.\nUI:N - The test suite executes on its own at boot/module init; the dangling-pointer dereference in `kunit_cleanup()` follows automatically with no action by any user or administrator.\nS:U - The freed-stack read, the resulting oops, and the corrupted sysfs link name all occur inside the kernel's own security authority; no hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - `make_driver_name()` runs `kasprintf(\"%s:%s\", ..., drv->name)` over a freed kernel stack page from an exited kthread, an unbounded read that continues until a NUL byte and can span recycled stack contents of unrelated kernel threads. Those bytes are consumed as a sysfs link name and, with the `bus_remove_driver()` `pr_debug` enabled, emitted into dmesg — a genuine kernel stack disclosure.\nI:H - This is a use-after-free of a `const char *` whose target contents are entirely determined by whatever reoccupies the freed kthread stack, and the resulting string drives `sysfs_remove_link()` on the module's `drivers/` kobject directory — recycled-memory contents directly steer which kernel sysfs object is torn down, and per UAF scoring this class of dangling-pointer defect is treated as a control-influencing corruption primitive.\nA:H - The fix commit explicitly documents that the bug \"produces the kernel panic with KASAN enabled.\" Even without KASAN, `kasprintf()` walking a freed VMAP_STACK page past its end faults on the vmalloc guard page, giving a kernel oops." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "lib/overflow_kunit.c" ], "versions": [ { "version": "d03c720e03bd9bf0b784d80b5d3ede7e2daf3b6e", "lessThan": "d1207f07decc66546a7fa463d2f335a856c986ef", "status": "affected", "versionType": "git" }, { "version": "d03c720e03bd9bf0b784d80b5d3ede7e2daf3b6e", "lessThan": "92e9bac18124682c4b99ede9ee3bcdd68f121e92", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "lib/overflow_kunit.c" ], "versions": [ { "version": "6.8", "status": "affected" }, { "version": "0", "lessThan": "6.8", "status": "unaffected", "versionType": "semver" }, { "version": "6.10.10", "lessThanOrEqual": "6.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.11", "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": "6.8", "versionEndExcluding": "6.10.10" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.8", "versionEndExcluding": "6.11" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/d1207f07decc66546a7fa463d2f335a856c986ef" }, { "url": "https://git.kernel.org/stable/c/92e9bac18124682c4b99ede9ee3bcdd68f121e92" } ], "title": "kunit/overflow: Fix UB in overflow_allocation_test", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2024-09-29T14:13:28.123233Z", "id": "CVE-2024-46823", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-09-29T14:13:37.295Z" } }, { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html" } ], "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2025-11-03T19:31:15.228Z" } } ] } }