CVE-2022-48759: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev struct rpmsg_ctrldev contains a struct cdev. The current code frees the rpmsg_ctrldev struct in rpmsg_ctrldev_release_device(), but the cdev is a managed object, therefore its release is not predictable and the rpmsg_ctrldev could be freed before the cdev is entirely released, as in the backtrace below. [ 93.625603] ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x7c [ 93.636115] WARNING: CPU: 0 PID: 12 at lib/debugobjects.c:488 debug_print_object+0x13c/0x1b0 [ 93.644799] Modules linked in: veth xt_cgroup xt_MASQUERADE rfcomm algif_hash algif_skcipher af_alg uinput ip6table_nat fuse uvcvideo videobuf2_vmalloc venus_enc venus_dec videobuf2_dma_contig hci_uart btandroid btqca snd_soc_rt5682_i2c bluetooth qcom_spmi_temp_alarm snd_soc_rt5682v [ 93.715175] CPU: 0 PID: 12 Comm: kworker/0:1 Tainted: G B 5.4.163-lockdep #26 [ 93.723855] Hardware name: Google Lazor (rev3 - 8) with LTE (DT) [ 93.730055] Workqueue: events kobject_delayed_cleanup [ 93.735271] pstate: 60c00009 (nZCv daif +PAN +UAO) [ 93.740216] pc : debug_print_object+0x13c/0x1b0 [ 93.744890] lr : debug_print_object+0x13c/0x1b0 [ 93.749555] sp : ffffffacf5bc7940 [ 93.752978] x29: ffffffacf5bc7940 x28: dfffffd000000000 [ 93.758448] x27: ffffffacdb11a800 x26: dfffffd000000000 [ 93.763916] x25: ffffffd0734f856c x24: dfffffd000000000 [ 93.769389] x23: 0000000000000000 x22: ffffffd0733c35b0 [ 93.774860] x21: ffffffd0751994a0 x20: ffffffd075ec27c0 [ 93.780338] x19: ffffffd075199100 x18: 00000000000276e0 [ 93.785814] x17: 0000000000000000 x16: dfffffd000000000 [ 93.791291] x15: ffffffffffffffff x14: 6e6968207473696c [ 93.796768] x13: 0000000000000000 x12: ffffffd075e2b000 [ 93.802244] x11: 0000000000000001 x10: 0000000000000000 [ 93.807723] x9 : d13400dff1921900 x8 : d13400dff1921900 [ 93.813200] x7 : 0000000000000000 x6 : 0000000000000000 [ 93.818676] x5 : 0000000000000080 x4 : 0000000000000000 [ 93.824152] x3 : ffffffd0732a0fa4 x2 : 0000000000000001 [ 93.829628] x1 : ffffffacf5bc7580 x0 : 0000000000000061 [ 93.835104] Call trace: [ 93.837644] debug_print_object+0x13c/0x1b0 [ 93.841963] __debug_check_no_obj_freed+0x25c/0x3c0 [ 93.846987] debug_check_no_obj_freed+0x18/0x20 [ 93.851669] slab_free_freelist_hook+0xbc/0x1e4 [ 93.856346] kfree+0xfc/0x2f4 [ 93.859416] rpmsg_ctrldev_release_device+0x78/0xb8 [ 93.864445] device_release+0x84/0x168 [ 93.868310] kobject_cleanup+0x12c/0x298 [ 93.872356] kobject_delayed_cleanup+0x10/0x18 [ 93.876948] process_one_work+0x578/0x92c [ 93.881086] worker_thread+0x804/0xcf8 [ 93.884963] kthread+0x2a8/0x314 [ 93.888303] ret_from_fork+0x10/0x18 The cdev_device_add/del() API was created to address this issue (see commit '233ed09d7fda ("chardev: add helper function to register char devs with a struct device")'), use it instead of cdev add/del().
AI Analysis
Technical Summary
CVE-2022-48759 is a vulnerability identified in the Linux kernel related to the rpmsg (remote processor messaging) character device driver. The issue arises from a race condition between the release of the rpmsg_ctrldev structure and its embedded cdev (character device) object. Specifically, the rpmsg_ctrldev_release_device() function frees the rpmsg_ctrldev structure, but since the cdev is a managed object whose release timing is unpredictable, the rpmsg_ctrldev structure may be freed before the cdev is fully released. This leads to use-after-free conditions and potential kernel instability or crashes, as evidenced by the kernel backtrace provided in the description. The root cause is improper lifecycle management of the cdev within rpmsg_ctrldev, where the cdev_device_add/del() API should be used instead of the older cdev add/del() functions to ensure proper synchronization and object lifetime management. This vulnerability affects Linux kernel versions identified by the commit hash c0cdc19f84a4712cf74888f83af286e3c2e14efd and likely other versions with similar code. While no known exploits are reported in the wild, the flaw can cause kernel panics or denial of service if triggered. The vulnerability is subtle and primarily impacts systems using rpmsg character devices, which are common in embedded and IoT devices running Linux kernels. The fix involves updating the kernel code to use the cdev_device_add/del() API to properly manage the cdev lifecycle and prevent premature freeing of the rpmsg_ctrldev structure.
Potential Impact
For European organizations, the impact of CVE-2022-48759 depends largely on their deployment of Linux-based systems that utilize the rpmsg character device framework. This includes embedded systems, industrial control systems, IoT devices, and specialized hardware running Linux kernels vulnerable to this race condition. Exploitation could lead to kernel crashes causing denial of service, potentially disrupting critical infrastructure, manufacturing processes, or telecommunications equipment. While this vulnerability does not directly lead to privilege escalation or remote code execution, the resulting instability could be leveraged in multi-stage attacks or cause operational outages. Organizations in sectors such as manufacturing, automotive, telecommunications, and critical infrastructure that rely on embedded Linux devices are at higher risk. Additionally, cloud providers and data centers using custom Linux kernels with rpmsg support might experience service disruptions. The lack of known exploits reduces immediate risk, but the subtlety of the bug means it could be triggered inadvertently or by malicious insiders. Therefore, the threat poses a moderate operational risk, especially where uptime and reliability are critical.
Mitigation Recommendations
European organizations should prioritize updating their Linux kernels to versions where this vulnerability is patched, ensuring the rpmsg driver uses the cdev_device_add/del() API for proper device lifecycle management. For embedded and IoT devices, firmware updates incorporating the kernel fix should be deployed promptly. Organizations should audit their Linux-based systems to identify those using rpmsg character devices and assess exposure. Where immediate patching is not feasible, isolating vulnerable devices from critical networks or limiting access to trusted users can reduce risk. Monitoring kernel logs for signs of use-after-free or related warnings can help detect attempts to trigger the flaw. Additionally, organizations should engage with hardware and software vendors to confirm patch availability and deployment plans. Incorporating kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and enabling kernel lockdown features can further mitigate exploitation risk. Finally, maintaining robust backup and recovery procedures will help minimize downtime if a denial of service occurs.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Sweden, Finland, Poland
CVE-2022-48759: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev struct rpmsg_ctrldev contains a struct cdev. The current code frees the rpmsg_ctrldev struct in rpmsg_ctrldev_release_device(), but the cdev is a managed object, therefore its release is not predictable and the rpmsg_ctrldev could be freed before the cdev is entirely released, as in the backtrace below. [ 93.625603] ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x7c [ 93.636115] WARNING: CPU: 0 PID: 12 at lib/debugobjects.c:488 debug_print_object+0x13c/0x1b0 [ 93.644799] Modules linked in: veth xt_cgroup xt_MASQUERADE rfcomm algif_hash algif_skcipher af_alg uinput ip6table_nat fuse uvcvideo videobuf2_vmalloc venus_enc venus_dec videobuf2_dma_contig hci_uart btandroid btqca snd_soc_rt5682_i2c bluetooth qcom_spmi_temp_alarm snd_soc_rt5682v [ 93.715175] CPU: 0 PID: 12 Comm: kworker/0:1 Tainted: G B 5.4.163-lockdep #26 [ 93.723855] Hardware name: Google Lazor (rev3 - 8) with LTE (DT) [ 93.730055] Workqueue: events kobject_delayed_cleanup [ 93.735271] pstate: 60c00009 (nZCv daif +PAN +UAO) [ 93.740216] pc : debug_print_object+0x13c/0x1b0 [ 93.744890] lr : debug_print_object+0x13c/0x1b0 [ 93.749555] sp : ffffffacf5bc7940 [ 93.752978] x29: ffffffacf5bc7940 x28: dfffffd000000000 [ 93.758448] x27: ffffffacdb11a800 x26: dfffffd000000000 [ 93.763916] x25: ffffffd0734f856c x24: dfffffd000000000 [ 93.769389] x23: 0000000000000000 x22: ffffffd0733c35b0 [ 93.774860] x21: ffffffd0751994a0 x20: ffffffd075ec27c0 [ 93.780338] x19: ffffffd075199100 x18: 00000000000276e0 [ 93.785814] x17: 0000000000000000 x16: dfffffd000000000 [ 93.791291] x15: ffffffffffffffff x14: 6e6968207473696c [ 93.796768] x13: 0000000000000000 x12: ffffffd075e2b000 [ 93.802244] x11: 0000000000000001 x10: 0000000000000000 [ 93.807723] x9 : d13400dff1921900 x8 : d13400dff1921900 [ 93.813200] x7 : 0000000000000000 x6 : 0000000000000000 [ 93.818676] x5 : 0000000000000080 x4 : 0000000000000000 [ 93.824152] x3 : ffffffd0732a0fa4 x2 : 0000000000000001 [ 93.829628] x1 : ffffffacf5bc7580 x0 : 0000000000000061 [ 93.835104] Call trace: [ 93.837644] debug_print_object+0x13c/0x1b0 [ 93.841963] __debug_check_no_obj_freed+0x25c/0x3c0 [ 93.846987] debug_check_no_obj_freed+0x18/0x20 [ 93.851669] slab_free_freelist_hook+0xbc/0x1e4 [ 93.856346] kfree+0xfc/0x2f4 [ 93.859416] rpmsg_ctrldev_release_device+0x78/0xb8 [ 93.864445] device_release+0x84/0x168 [ 93.868310] kobject_cleanup+0x12c/0x298 [ 93.872356] kobject_delayed_cleanup+0x10/0x18 [ 93.876948] process_one_work+0x578/0x92c [ 93.881086] worker_thread+0x804/0xcf8 [ 93.884963] kthread+0x2a8/0x314 [ 93.888303] ret_from_fork+0x10/0x18 The cdev_device_add/del() API was created to address this issue (see commit '233ed09d7fda ("chardev: add helper function to register char devs with a struct device")'), use it instead of cdev add/del().
AI-Powered Analysis
Technical Analysis
CVE-2022-48759 is a vulnerability identified in the Linux kernel related to the rpmsg (remote processor messaging) character device driver. The issue arises from a race condition between the release of the rpmsg_ctrldev structure and its embedded cdev (character device) object. Specifically, the rpmsg_ctrldev_release_device() function frees the rpmsg_ctrldev structure, but since the cdev is a managed object whose release timing is unpredictable, the rpmsg_ctrldev structure may be freed before the cdev is fully released. This leads to use-after-free conditions and potential kernel instability or crashes, as evidenced by the kernel backtrace provided in the description. The root cause is improper lifecycle management of the cdev within rpmsg_ctrldev, where the cdev_device_add/del() API should be used instead of the older cdev add/del() functions to ensure proper synchronization and object lifetime management. This vulnerability affects Linux kernel versions identified by the commit hash c0cdc19f84a4712cf74888f83af286e3c2e14efd and likely other versions with similar code. While no known exploits are reported in the wild, the flaw can cause kernel panics or denial of service if triggered. The vulnerability is subtle and primarily impacts systems using rpmsg character devices, which are common in embedded and IoT devices running Linux kernels. The fix involves updating the kernel code to use the cdev_device_add/del() API to properly manage the cdev lifecycle and prevent premature freeing of the rpmsg_ctrldev structure.
Potential Impact
For European organizations, the impact of CVE-2022-48759 depends largely on their deployment of Linux-based systems that utilize the rpmsg character device framework. This includes embedded systems, industrial control systems, IoT devices, and specialized hardware running Linux kernels vulnerable to this race condition. Exploitation could lead to kernel crashes causing denial of service, potentially disrupting critical infrastructure, manufacturing processes, or telecommunications equipment. While this vulnerability does not directly lead to privilege escalation or remote code execution, the resulting instability could be leveraged in multi-stage attacks or cause operational outages. Organizations in sectors such as manufacturing, automotive, telecommunications, and critical infrastructure that rely on embedded Linux devices are at higher risk. Additionally, cloud providers and data centers using custom Linux kernels with rpmsg support might experience service disruptions. The lack of known exploits reduces immediate risk, but the subtlety of the bug means it could be triggered inadvertently or by malicious insiders. Therefore, the threat poses a moderate operational risk, especially where uptime and reliability are critical.
Mitigation Recommendations
European organizations should prioritize updating their Linux kernels to versions where this vulnerability is patched, ensuring the rpmsg driver uses the cdev_device_add/del() API for proper device lifecycle management. For embedded and IoT devices, firmware updates incorporating the kernel fix should be deployed promptly. Organizations should audit their Linux-based systems to identify those using rpmsg character devices and assess exposure. Where immediate patching is not feasible, isolating vulnerable devices from critical networks or limiting access to trusted users can reduce risk. Monitoring kernel logs for signs of use-after-free or related warnings can help detect attempts to trigger the flaw. Additionally, organizations should engage with hardware and software vendors to confirm patch availability and deployment plans. Incorporating kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and enabling kernel lockdown features can further mitigate exploitation risk. Finally, maintaining robust backup and recovery procedures will help minimize downtime if a denial of service occurs.
Affected Countries
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-06-20T11:09:39.059Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d982ec4522896dcbe60a1
Added to database: 5/21/2025, 9:09:02 AM
Last enriched: 6/30/2025, 8:41:26 PM
Last updated: 8/16/2025, 4:06:18 PM
Views: 15
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.