PM / devfreq: Synchronize devfreq_monitor_[start/stop]
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 15 fixed, 1 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-835.
Summary
In the Linux kernel, the following vulnerability has been resolved: PM / devfreq: Synchronize devfreq_monitor_[start/stop] There is a chance if a frequent switch of the governor done in a loop result in timer list corruption where timer cancel being done from two place one from cancel_delayed_work_sync() and followed by expire_timers() can be seen from the traces[1]. while true do echo "simple_ondemand" > /sys/class/devfreq/1d84000.ufshc/governor echo "performance" > /sys/class/devfreq/1d84000.ufshc/governor done It looks to be issue with devfreq driver where device_monitor_[start/stop] need to synchronized so that delayed work should get corrupted while it is either being queued or running or being cancelled. Let's use polling flag and devfreq lock to synchronize the queueing the timer instance twice and work data being corrupted. [1] ... .. <idle>-0 [003] 9436.209662: timer_cancel timer=0xffffff80444f0428 <idle>-0 [003] 9436.209664: timer_expire_entry timer=0xffffff80444f0428 now=0x10022da1c function=__typeid__ZTSFvP10timer_listE_global_addr baseclk=0x10022da1c <idle>-0 [003] 9436.209718: timer_expire_exit timer=0xffffff80444f0428 kworker/u16:6-14217 [003] 9436.209863: timer_start timer=0xffffff80444f0428 function=__typeid__ZTSFvP10timer_listE_global_addr expires=0x10022da2b now=0x10022da1c flags=182452227 vendor.xxxyyy.ha-1593 [004] 9436.209888: timer_cancel timer=0xffffff80444f0428 vendor.xxxyyy.ha-1593 [004] 9436.216390: timer_init timer=0xffffff80444f0428 vendor.xxxyyy.ha-1593 [004] 9436.216392: timer_start timer=0xffffff80444f0428 function=__typeid__ZTSFvP10timer_listE_global_addr expires=0x10022da2c now=0x10022da1d flags=186646532 vendor.xxxyyy.ha-1593 [005] 9436.220992: timer_cancel timer=0xffffff80444f0428 xxxyyyTraceManag-7795 [004] 9436.261641: timer_cancel timer=0xffffff80444f0428 [2] 9436.261653][ C4] Unable to handle kernel paging request at virtual address dead00000000012a [ 9436.261664][ C4] Mem abort info: [ 9436.261666][ C4] ESR = 0x96000044 [ 9436.261669][ C4] EC = 0x25: DABT (current EL), IL = 32 bits [ 9436.261671][ C4] SET = 0, FnV = 0 [ 9436.261673][ C4] EA = 0, S1PTW = 0 [ 9436.261675][ C4] Data abort info: [ 9436.261677][ C4] ISV = 0, ISS = 0x00000044 [ 9436.261680][ C4] CM = 0, WnR = 1 [ 9436.261682][ C4] [dead00000000012a] address between user and kernel address ranges [ 9436.261685][ C4] Internal error: Oops: 96000044 [#1] PREEMPT SMP [ 9436.261701][ C4] Skip md ftrace buffer dump for: 0x3a982d0 ... [ 9436.262138][ C4] CPU: 4 PID: 7795 Comm: TraceManag Tainted: G S W O 5.10.149-android12-9-o-g17f915d29d0c #1 [ 9436.262141][ C4] Hardware name: Qualcomm Technologies, Inc. (DT) [ 9436.262144][ C4] pstate: 22400085 (nzCv daIf +PAN -UAO +TCO BTYPE=--) [ 9436.262161][ C4] pc : expire_timers+0x9c/0x438 [ 9436.262164][ C4] lr : expire_timers+0x2a4/0x438 [ 9436.262168][ C4] sp : ffffffc010023dd0 [ 9436.262171][ C4] x29: ffffffc010023df0 x28: ffffffd0636fdc18 [ 9436.262178][ C4] x27: ffffffd063569dd0 x26: ffffffd063536008 [ 9436.262182][ C4] x25: 0000000000000001 x24: ffffff88f7c69280 [ 9436.262185][ C4] x23: 00000000000000e0 x22: dead000000000122 [ 9436.262188][ C4] x21: 000000010022da29 x20: ffffff8af72b4e80 [ 9436.262191][ C4] x19: ffffffc010023e50 x18: ffffffc010025038 [ 9436.262195][ C4] x17: 0000000000000240 x16: 0000000000000201 [ 9436.262199][ C4] x15: ffffffffffffffff x14: ffffff889f3c3100 [ 9436.262203][ C4] x13: ffffff889f3c3100 x12: 00000000049f56b8 [ 9436.262207][ C4] x11: 00000000049f56b8 x10: 00000000ffffffff [ 9436.262212][ C4] x9 : ffffffc010023e50 x8 : dead000000000122 [ 9436.262216][ C4] x7 : ffffffffffffffff x6 : ffffffc0100239d8 [ 9436.262220][ C4] x5 : 0000000000000000 x4 : 0000000000000101 [ 9436.262223][ C4] x3 : 0000000000000080 x2 : ffffff8 ---truncated---
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 3.8 and later | 5.10.210, 5.15.149, 6.1.77, 6.6.16, 6.7.4, 6.8 | Patch available | CNA |
- Linux VendorLinux Affected 3.8 and later Fixed in 5.10.210, 5.15.149, 6.1.77, 6.6.16, 6.7.4, 6.8 Patch available CNA
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.210, 5.15.149, 6.1.77, 6.6.16, 6.7.4, 6.8
Red Hat 4 advisories
- RHSA-2024:10771 Released 2024-12-04 · Red Hat rating Moderatekernel security update
- Red Hat CodeReady Linux Builder EUS (v.9.4) kernel-tools-libs-devel-5.14.0-427.47.1.el9_4, libperf-5.14.0-427.47.1.el9_4
- Red Hat Enterprise Linux AppStream EUS (v.9.4) kernel-64k-debug-devel-5.14.0-427.47.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.47.1.el9_4, kernel-64k-devel-5.14.0-427.47.1.el9_4 +11
- Red Hat Enterprise Linux BaseOS EUS (v.9.4) bpftool-7.3.0-427.47.1.el9_4, kernel-5.14.0-427.47.1.el9_4, kernel-64k-5.14.0-427.47.1.el9_4 +29
- Red Hat Enterprise Linux Real Time EUS (v.9.4) kernel-rt-5.14.0-427.47.1.el9_4, kernel-rt-core-5.14.0-427.47.1.el9_4, kernel-rt-debug-5.14.0-427.47.1.el9_4 +9
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) kernel-rt-5.14.0-427.47.1.el9_4, kernel-rt-core-5.14.0-427.47.1.el9_4, kernel-rt-debug-5.14.0-427.47.1.el9_4 +11
- RHSA-2024:9315 Released 2024-11-12 · Red Hat rating Moderatekernel security update
- Red Hat CodeReady Linux Builder (v. 9) kernel-cross-headers-5.14.0-503.11.1.el9_5, kernel-tools-libs-devel-5.14.0-503.11.1.el9_5, libperf-5.14.0-503.11.1.el9_5
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-503.11.1.el9_5, kernel-64k-debug-devel-matched-5.14.0-503.11.1.el9_5, kernel-64k-devel-5.14.0-503.11.1.el9_5 +12
- Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.4.0-503.11.1.el9_5, kernel-5.14.0-503.11.1.el9_5, kernel-64k-5.14.0-503.11.1.el9_5 +30
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-503.11.1.el9_5, kernel-rt-core-5.14.0-503.11.1.el9_5, kernel-rt-debug-5.14.0-503.11.1.el9_5 +9
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-503.11.1.el9_5, kernel-rt-core-5.14.0-503.11.1.el9_5, kernel-rt-debug-5.14.0-503.11.1.el9_5 +11
- RHSA-2024:5066 Released 2024-08-07 · Red Hat rating Moderatekernel security update
- Red Hat CodeReady Linux Builder EUS (v.9.2) kernel-tools-libs-devel-5.14.0-284.77.1.el9_2
- Red Hat Enterprise Linux AppStream EUS (v.9.2) kernel-64k-debug-devel-5.14.0-284.77.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.77.1.el9_2, kernel-64k-devel-5.14.0-284.77.1.el9_2 +9
- Red Hat Enterprise Linux BaseOS EUS (v.9.2) bpftool-7.0.0-284.77.1.el9_2, kernel-5.14.0-284.77.1.el9_2, kernel-64k-5.14.0-284.77.1.el9_2 +29
Show 1 more Red Hat advisories
- RHSA-2024:5067 Released 2024-08-07 · Red Hat rating Moderatekernel-rt security update
- Red Hat Enterprise Linux Real Time EUS (v.9.2) kernel-rt-5.14.0-284.77.1.rt14.362.el9_2, kernel-rt-core-5.14.0-284.77.1.rt14.362.el9_2, kernel-rt-debug-5.14.0-284.77.1.rt14.362.el9_2 +9
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) kernel-rt-5.14.0-284.77.1.rt14.362.el9_2, kernel-rt-core-5.14.0-284.77.1.rt14.362.el9_2, kernel-rt-debug-5.14.0-284.77.1.rt14.362.el9_2 +11
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat CodeReady Linux Builder (v. 9) | Fixed | RHSA-2024:9315 |
| Red Hat CodeReady Linux Builder EUS (v.9.2) | Fixed | RHSA-2024:5066 |
| Red Hat CodeReady Linux Builder EUS (v.9.4) | Fixed | RHSA-2024:10771 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2024:9315 |
| Red Hat Enterprise Linux AppStream EUS (v.9.2) | Fixed | RHSA-2024:5066 |
| Red Hat Enterprise Linux AppStream EUS (v.9.4) | Fixed | RHSA-2024:10771 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2024:9315 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.2) | Fixed | RHSA-2024:5066 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.4) | Fixed | RHSA-2024:10771 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2024:9315 |
| Red Hat Enterprise Linux Real Time EUS (v.9.2) | Fixed | RHSA-2024:5067 |
| Red Hat Enterprise Linux Real Time EUS (v.9.4) | Fixed | RHSA-2024:10771 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2024:9315 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) | Fixed | RHSA-2024:5067 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) | Fixed | RHSA-2024:10771 |
Not affected: 6 products
- Red Hat CodeReady Linux Builder (v. 9)
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux AppStream (v. 9)
- Red Hat Enterprise Linux AppStream EUS (v.9.2)
Timeline
- 2026-10-02 Threatist record created from CVE-2023-52635
- 2026-10-03 Alias added: GHSA-f688-vq7p-p658
References
Patch 6
- https://git.kernel.org/stable/c/3399cc7013e761fee9d6eec795e9b31ab0cbe475
- https://git.kernel.org/stable/c/099f6a9edbe30b142c1d97fe9a4748601d995675
- https://git.kernel.org/stable/c/31569995fc65007b73a3fff605ec2b3401b435e9
- https://git.kernel.org/stable/c/0aedb319ef3ed39e9e5a7b7726c8264ca627bbd9
- https://git.kernel.org/stable/c/ae815e2fdc284ab31651d52460698bd89c0fce22
- https://git.kernel.org/stable/c/aed5ed595960c6d301dcd4ed31aeaa7a8054c0c6
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2023-52635 · CVE Program
- CVE-2023-52635 · NVD
- FIRST EPSS
- GHSA-f688-vq7p-p658 · GitHub Advisory Database · CC BY 4.0
- CVE-2023-52635 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences