CVE-2024-56772·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: kunit: string-stream: Fix a UAF bug in kunit_init_suite() In kunit_debugfs_create_suite(), if alloc_string_stream() fails in the kunit_suite_for_each_test_case() loop, the "suite->log = stream" has assigned before, and the error path only free the suite->log's stream memory but not set it to NULL, so the later string_stream_clear() of suite->log in kunit_init_suite() will cause below UAF bug. Set stream pointer to NULL after free to fix it. Unable to handle kernel paging request at virtual address 006440150000030d Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [006440150000030d] address between user and kernel address ranges Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: iio_test_gts industrialio_gts_helper cfg80211 rfkill ipv6 [last unloaded: iio_test_gts] CPU: 5 UID: 0 PID: 6253 Comm: modprobe Tainted: G B W N 6.12.0-rc4+ #458 Tainted: [B]=BAD_PAGE, [W]=WARN, [N]=TEST Hardware name: linux,dummy-virt (DT) pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : string_stream_clear+0x54/0x1ac lr : string_stream_clear+0x1a8/0x1ac sp : ffffffc080b47410 x29: ffffffc080b47410 x28: 006440550000030d x27: ffffff80c96b5e98 x26: ffffff80c96b5e80 x25: ffffffe461b3f6c0 x24: 0000000000000003 x23: ffffff80c96b5e88 x22: 1ffffff019cdf4fc x21: dfffffc000000000 x20: ffffff80ce6fa7e0 x19: 032202a80000186d x18: 0000000000001840 x17: 0000000000000000 x16: 0000000000000000 x15: ffffffe45c355cb4 x14: ffffffe45c35589c x13: ffffffe45c03da78 x12: ffffffb810168e75 x11: 1ffffff810168e74 x10: ffffffb810168e74 x9 : dfffffc000000000 x8 : 0000000000000004 x7 : 0000000000000003 x6 : 0000000000000001 x5 : ffffffc080b473a0 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 0000000000000001 x1 : ffffffe462fbf620 x0 : dfffffc000000000 Call trace: string_stream_clear+0x54/0x1ac __kunit_test_suites_init+0x108/0x1d8 kunit_exec_run_tests+0xb8/0x100 kunit_module_notify+0x400/0x55c notifier_call_chain+0xfc/0x3b4 blocking_notifier_call_chain+0x68/0x9c do_init_module+0x24c/0x5c8 load_module+0x4acc/0x4e90 init_module_from_file+0xd4/0x128 idempotent_init_module+0x2d4/0x57c __arm64_sys_finit_module+0xac/0x100 invoke_syscall+0x6c/0x258 el0_svc_common.constprop.0+0x160/0x22c do_el0_svc+0x44/0x5c el0_svc+0x48/0xb8 el0t_64_sync_handler+0x13c/0x158 el0t_64_sync+0x190/0x194 Code: f9400753 d2dff800 f2fbffe0 d343fe7c (38e06b80) ---[ end trace 0000000000000000 ]--- Kernel panic - not syncing: Oops: Fatal exception
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.12.4
- Published
- 2025-01-08
Affected versions
From: 6.7
Until: 6.12.4
Fixed in: 6.12.4
How to fix this CVE
Update your Linux kernel to version 6.12.4 or later to patch a use-after-free vulnerability in the KUnit testing framework. This bug could cause kernel panics during test suite initialization when memory allocation fails. Systems running kernels 6.7 through 6.12.3 should prioritize this update, especially if KUnit tests are executed during module loading.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check kernel version with `uname -r` and compare against 6.12.4 — versions 6.7 through 6.12.3 are vulnerable
- Step 2: Verify KUnit is enabled in your kernel with `grep CONFIG_KUNIT /boot/config-$(uname -r)` — if set to 'y' or 'm', the component is present
- Step 3: Search system logs for UAF panic signatures using `dmesg | grep -i 'string_stream_clear\|Unable to handle kernel paging\|kunit'` to identify crash events
- Step 4: After patching, confirm the new kernel version with `uname -r` and verify it shows 6.12.4 or later
FAQ
What is CVE-2024-56772?
This vulnerability is a use-after-free (UAF) bug in the Linux kernel's KUnit testing subsystem where freed memory is not properly nullified, allowing subsequent operations to access invalid addresses and trigger kernel panics during test suite initialization.
Is CVE-2024-56772 being actively exploited?
No, this vulnerability is not listed in the CISA KEV catalog and no public exploits are available. It primarily affects systems running KUnit tests, which are typically limited to development and testing environments.
What versions of Kernel are affected by CVE-2024-56772?
Linux kernel versions 6.7 through 6.12.3 are vulnerable. The fix is available in kernel 6.12.4 and later stable releases.
How do I check if my server is vulnerable to CVE-2024-56772?
Run `uname -r` to get your kernel version. If it reports a version between 6.7 and 6.12.3 inclusive, your system is vulnerable. Additionally, check if KUnit is compiled into your kernel with `grep CONFIG_KUNIT /boot/config-$(uname -r)`.
Does Defensia detect CVE-2024-56772?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-56772 will appear in your dashboard with remediation steps and affected version ranges.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-56772. Free for 1 server.
Get started free