LiveActive security incident?Get immediate response
CVE Record

CVE-2021-47387: cpufreq: schedutil: Use kobject release() method to free sugov_tunables

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.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

This is a Linux kernel memory-management flaw in the CPU frequency scheduler governor. Under certain governor change behavior, the kernel could free an object before its kobject lifecycle had safely completed. Business urgency depends on whether affected kernels are deployed; the provided sources do not show remote exposure, active exploitation, or a CVSS score.

Executive priority

Track and patch through normal kernel maintenance unless vendor guidance rates it higher for your environment. Escalate priority for internet-facing appliances, shared hosts, or embedded fleets where kernel updates are slow and local access boundaries matter.

Technical view

The schedutil cpufreq governor freed sugov_tunables directly even though it was protected by a kobject. The kernel fix splits global tunable cleanup from object freeing and uses kobj_type::release so sugov_tunables is released only when safe. The source trace shows debugobjects detecting an active timer/list object during governor policy changes.

Likely exposure

Exposure is most likely on Linux systems running affected kernel versions or downstream builds carrying the vulnerable cpufreq schedutil code. The evidence points to local kernel behavior involving CPU frequency governor changes through sysfs, not a remotely reachable service.

Exploitation context

The provided bundle does not cite active exploitation, and KEV is false. No exploit path, privilege requirement, or impact rating is provided. Treat this as a kernel stability and memory-safety issue until vendor advisories or distribution backports clarify practical exploitability.

Researcher notes

The core issue is lifetime management: sugov_tunables must be freed by the kobject release path. The source evidence includes a debugobjects warning during store_scaling_governor and stable commits for multiple kernel branches, but no CVSS, CWE, exploit status, or distribution-specific advisories.

Mitigation direction

  • Identify Linux kernel versions and vendor backport status across affected systems.
  • Apply kernel updates containing the referenced stable fixes when available from your distribution.
  • Check vendor guidance if using appliance, embedded, or custom kernels.
  • Prioritize systems where CPU frequency governors are changeable in production.

Validation and detection

  • Confirm deployed kernel versions against vendor advisories and CVE metadata.
  • Verify whether schedutil cpufreq support is enabled on target systems.
  • Review change history for kernel updates containing the referenced stable commits.
  • Check logs for related kernel warnings during cpufreq governor changes.
Prepared
Confidence
medium
Sources
9

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2021-47387 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
2ADP providers
8Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
other:ssvc
CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux9bdcb44e391da5c41b98573bf0305a0e0b1c9569, 9bdcb44e391da5c41b98573bf0305a0e0b1c9569, 9bdcb44e391da5c41b98573bf0305a0e0b1c9569, 9bdcb44e391da5c41b98573bf0305a0e0b1c9569, 9bdcb44e391da5c41b98573bf0305a0e0b1c9569, 9bdcb44e391da5c41b98573bf0305a0e0b1c9569, 9bdcb44e391da5c41b98573bf0305a0e0b1c9569unaffected
LinuxLinux4.7, 0, 4.9.285, 4.14.249, 4.19.209, 5.4.151, 5.10.71, 5.14.10, 5.15affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.