CVE-2021-47387: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: cpufreq: schedutil: Use kobject release() method to free sugov_tunables The struct sugov_tunables is protected by the kobject, so we can't free it directly. Otherwise we would get a call trace like this: ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x30 WARNING: CPU: 3 PID: 720 at lib/debugobjects.c:505 debug_print_object+0xb8/0x100 Modules linked in: CPU: 3 PID: 720 Comm: a.sh Tainted: G W 5.14.0-rc1-next-20210715-yocto-standard+ #507 Hardware name: Marvell OcteonTX CN96XX board (DT) pstate: 40400009 (nZcv daif +PAN -UAO -TCO BTYPE=--) pc : debug_print_object+0xb8/0x100 lr : debug_print_object+0xb8/0x100 sp : ffff80001ecaf910 x29: ffff80001ecaf910 x28: ffff00011b10b8d0 x27: ffff800011043d80 x26: ffff00011a8f0000 x25: ffff800013cb3ff0 x24: 0000000000000000 x23: ffff80001142aa68 x22: ffff800011043d80 x21: ffff00010de46f20 x20: ffff800013c0c520 x19: ffff800011d8f5b0 x18: 0000000000000010 x17: 6e6968207473696c x16: 5f72656d6974203a x15: 6570797420746365 x14: 6a626f2029302065 x13: 303378302f307830 x12: 2b6e665f72656d69 x11: ffff8000124b1560 x10: ffff800012331520 x9 : ffff8000100ca6b0 x8 : 000000000017ffe8 x7 : c0000000fffeffff x6 : 0000000000000001 x5 : ffff800011d8c000 x4 : ffff800011d8c740 x3 : 0000000000000000 x2 : ffff0001108301c0 x1 : ab3c90eedf9c0f00 x0 : 0000000000000000 Call trace: debug_print_object+0xb8/0x100 __debug_check_no_obj_freed+0x1c0/0x230 debug_check_no_obj_freed+0x20/0x88 slab_free_freelist_hook+0x154/0x1c8 kfree+0x114/0x5d0 sugov_exit+0xbc/0xc0 cpufreq_exit_governor+0x44/0x90 cpufreq_set_policy+0x268/0x4a8 store_scaling_governor+0xe0/0x128 store+0xc0/0xf0 sysfs_kf_write+0x54/0x80 kernfs_fop_write_iter+0x128/0x1c0 new_sync_write+0xf0/0x190 vfs_write+0x2d4/0x478 ksys_write+0x74/0x100 __arm64_sys_write+0x24/0x30 invoke_syscall.constprop.0+0x54/0xe0 do_el0_svc+0x64/0x158 el0_svc+0x2c/0xb0 el0t_64_sync_handler+0xb0/0xb8 el0t_64_sync+0x198/0x19c irq event stamp: 5518 hardirqs last enabled at (5517): [<ffff8000100cbd7c>] console_unlock+0x554/0x6c8 hardirqs last disabled at (5518): [<ffff800010fc0638>] el1_dbg+0x28/0xa0 softirqs last enabled at (5504): [<ffff8000100106e0>] __do_softirq+0x4d0/0x6c0 softirqs last disabled at (5483): [<ffff800010049548>] irq_exit+0x1b0/0x1b8 So split the original sugov_tunables_free() into two functions, sugov_clear_global_tunables() is just used to clear the global_tunables and the new sugov_tunables_free() is used as kobj_type::release to release the sugov_tunables safely.
AI Analysis
Technical Summary
CVE-2021-47387 is a vulnerability in the Linux kernel's cpufreq subsystem, specifically within the schedutil governor's handling of the sugov_tunables structure. The issue arises because the sugov_tunables struct is protected by a kobject, and the original code attempted to free this structure directly rather than using the kobject's release() method. This improper memory management leads to a kernel warning and potential instability, as indicated by debug trace logs showing attempts to free an active object incorrectly. The vulnerability manifests as a use-after-free or double-free condition within kernel memory management, which can cause kernel crashes or undefined behavior. The fix involved splitting the original sugov_tunables_free() function into two: sugov_clear_global_tunables(), which clears global tunables, and a new sugov_tunables_free() function used as the kobject release method to safely release the sugov_tunables structure. This correction ensures proper lifecycle management of kernel objects and prevents erroneous freeing of memory. The vulnerability affects Linux kernel versions identified by the commit hash 9bdcb44e391da5c41b98573bf0305a0e0b1c9569 and was published on May 21, 2024. No known exploits are currently reported in the wild, and no CVSS score has been assigned.
Potential Impact
For European organizations, the impact of CVE-2021-47387 primarily concerns systems running vulnerable Linux kernel versions with the cpufreq schedutil governor enabled. This includes servers, embedded devices, and potentially critical infrastructure components that rely on Linux for power management and CPU frequency scaling. Exploitation could lead to kernel crashes, causing denial of service (DoS) conditions that disrupt business operations, especially in environments requiring high availability. While the vulnerability does not directly indicate privilege escalation or remote code execution, kernel instability can be leveraged in complex attack chains or cause operational outages. Organizations in sectors such as telecommunications, manufacturing, and cloud services that utilize Linux-based systems could experience service interruptions. Given the kernel-level nature, the vulnerability affects confidentiality, integrity, and availability indirectly through system reliability degradation. The absence of known exploits reduces immediate risk, but unpatched systems remain vulnerable to potential future exploitation or accidental crashes.
Mitigation Recommendations
To mitigate CVE-2021-47387, European organizations should: 1) Identify all Linux systems running kernel versions associated with the vulnerable commit (9bdcb44e391da5c41b98573bf0305a0e0b1c9569). 2) Apply the official Linux kernel patches that implement the fix by properly using the kobject release() method for sugov_tunables. If official patches are not yet available, consider upgrading to the latest stable kernel versions where this issue is resolved. 3) Disable or avoid using the cpufreq schedutil governor on critical systems if patching is delayed, as a temporary workaround to reduce exposure. 4) Monitor system logs for kernel warnings or crashes related to memory management in the cpufreq subsystem to detect potential exploitation or instability. 5) Implement rigorous kernel update policies and test kernel updates in staging environments before production deployment to minimize downtime. 6) For embedded or specialized devices, coordinate with vendors for firmware or kernel updates addressing this vulnerability. These steps go beyond generic advice by focusing on kernel version tracking, targeted subsystem configuration, and proactive monitoring specific to this vulnerability.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Poland, Sweden, Finland, Belgium
CVE-2021-47387: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: cpufreq: schedutil: Use kobject release() method to free sugov_tunables The struct sugov_tunables is protected by the kobject, so we can't free it directly. Otherwise we would get a call trace like this: ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x30 WARNING: CPU: 3 PID: 720 at lib/debugobjects.c:505 debug_print_object+0xb8/0x100 Modules linked in: CPU: 3 PID: 720 Comm: a.sh Tainted: G W 5.14.0-rc1-next-20210715-yocto-standard+ #507 Hardware name: Marvell OcteonTX CN96XX board (DT) pstate: 40400009 (nZcv daif +PAN -UAO -TCO BTYPE=--) pc : debug_print_object+0xb8/0x100 lr : debug_print_object+0xb8/0x100 sp : ffff80001ecaf910 x29: ffff80001ecaf910 x28: ffff00011b10b8d0 x27: ffff800011043d80 x26: ffff00011a8f0000 x25: ffff800013cb3ff0 x24: 0000000000000000 x23: ffff80001142aa68 x22: ffff800011043d80 x21: ffff00010de46f20 x20: ffff800013c0c520 x19: ffff800011d8f5b0 x18: 0000000000000010 x17: 6e6968207473696c x16: 5f72656d6974203a x15: 6570797420746365 x14: 6a626f2029302065 x13: 303378302f307830 x12: 2b6e665f72656d69 x11: ffff8000124b1560 x10: ffff800012331520 x9 : ffff8000100ca6b0 x8 : 000000000017ffe8 x7 : c0000000fffeffff x6 : 0000000000000001 x5 : ffff800011d8c000 x4 : ffff800011d8c740 x3 : 0000000000000000 x2 : ffff0001108301c0 x1 : ab3c90eedf9c0f00 x0 : 0000000000000000 Call trace: debug_print_object+0xb8/0x100 __debug_check_no_obj_freed+0x1c0/0x230 debug_check_no_obj_freed+0x20/0x88 slab_free_freelist_hook+0x154/0x1c8 kfree+0x114/0x5d0 sugov_exit+0xbc/0xc0 cpufreq_exit_governor+0x44/0x90 cpufreq_set_policy+0x268/0x4a8 store_scaling_governor+0xe0/0x128 store+0xc0/0xf0 sysfs_kf_write+0x54/0x80 kernfs_fop_write_iter+0x128/0x1c0 new_sync_write+0xf0/0x190 vfs_write+0x2d4/0x478 ksys_write+0x74/0x100 __arm64_sys_write+0x24/0x30 invoke_syscall.constprop.0+0x54/0xe0 do_el0_svc+0x64/0x158 el0_svc+0x2c/0xb0 el0t_64_sync_handler+0xb0/0xb8 el0t_64_sync+0x198/0x19c irq event stamp: 5518 hardirqs last enabled at (5517): [<ffff8000100cbd7c>] console_unlock+0x554/0x6c8 hardirqs last disabled at (5518): [<ffff800010fc0638>] el1_dbg+0x28/0xa0 softirqs last enabled at (5504): [<ffff8000100106e0>] __do_softirq+0x4d0/0x6c0 softirqs last disabled at (5483): [<ffff800010049548>] irq_exit+0x1b0/0x1b8 So split the original sugov_tunables_free() into two functions, sugov_clear_global_tunables() is just used to clear the global_tunables and the new sugov_tunables_free() is used as kobj_type::release to release the sugov_tunables safely.
AI-Powered Analysis
Technical Analysis
CVE-2021-47387 is a vulnerability in the Linux kernel's cpufreq subsystem, specifically within the schedutil governor's handling of the sugov_tunables structure. The issue arises because the sugov_tunables struct is protected by a kobject, and the original code attempted to free this structure directly rather than using the kobject's release() method. This improper memory management leads to a kernel warning and potential instability, as indicated by debug trace logs showing attempts to free an active object incorrectly. The vulnerability manifests as a use-after-free or double-free condition within kernel memory management, which can cause kernel crashes or undefined behavior. The fix involved splitting the original sugov_tunables_free() function into two: sugov_clear_global_tunables(), which clears global tunables, and a new sugov_tunables_free() function used as the kobject release method to safely release the sugov_tunables structure. This correction ensures proper lifecycle management of kernel objects and prevents erroneous freeing of memory. The vulnerability affects Linux kernel versions identified by the commit hash 9bdcb44e391da5c41b98573bf0305a0e0b1c9569 and was published on May 21, 2024. No known exploits are currently reported in the wild, and no CVSS score has been assigned.
Potential Impact
For European organizations, the impact of CVE-2021-47387 primarily concerns systems running vulnerable Linux kernel versions with the cpufreq schedutil governor enabled. This includes servers, embedded devices, and potentially critical infrastructure components that rely on Linux for power management and CPU frequency scaling. Exploitation could lead to kernel crashes, causing denial of service (DoS) conditions that disrupt business operations, especially in environments requiring high availability. While the vulnerability does not directly indicate privilege escalation or remote code execution, kernel instability can be leveraged in complex attack chains or cause operational outages. Organizations in sectors such as telecommunications, manufacturing, and cloud services that utilize Linux-based systems could experience service interruptions. Given the kernel-level nature, the vulnerability affects confidentiality, integrity, and availability indirectly through system reliability degradation. The absence of known exploits reduces immediate risk, but unpatched systems remain vulnerable to potential future exploitation or accidental crashes.
Mitigation Recommendations
To mitigate CVE-2021-47387, European organizations should: 1) Identify all Linux systems running kernel versions associated with the vulnerable commit (9bdcb44e391da5c41b98573bf0305a0e0b1c9569). 2) Apply the official Linux kernel patches that implement the fix by properly using the kobject release() method for sugov_tunables. If official patches are not yet available, consider upgrading to the latest stable kernel versions where this issue is resolved. 3) Disable or avoid using the cpufreq schedutil governor on critical systems if patching is delayed, as a temporary workaround to reduce exposure. 4) Monitor system logs for kernel warnings or crashes related to memory management in the cpufreq subsystem to detect potential exploitation or instability. 5) Implement rigorous kernel update policies and test kernel updates in staging environments before production deployment to minimize downtime. 6) For embedded or specialized devices, coordinate with vendors for firmware or kernel updates addressing this vulnerability. These steps go beyond generic advice by focusing on kernel version tracking, targeted subsystem configuration, and proactive monitoring specific to this vulnerability.
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-05-21T14:58:30.813Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9833c4522896dcbe8fa4
Added to database: 5/21/2025, 9:09:07 AM
Last enriched: 6/30/2025, 12:13:26 PM
Last updated: 8/11/2025, 2:20:49 PM
Views: 12
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.