CVE-2025-22027: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: media: streamzap: fix race between device disconnection and urb callback Syzkaller has reported a general protection fault at function ir_raw_event_store_with_filter(). This crash is caused by a NULL pointer dereference of dev->raw pointer, even though it is checked for NULL in the same function, which means there is a race condition. It occurs due to the incorrect order of actions in the streamzap_disconnect() function: rc_unregister_device() is called before usb_kill_urb(). The dev->raw pointer is freed and set to NULL in rc_unregister_device(), and only after that usb_kill_urb() waits for in-progress requests to finish. If rc_unregister_device() is called while streamzap_callback() handler is not finished, this can lead to accessing freed resources. Thus rc_unregister_device() should be called after usb_kill_urb(). Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
AI Analysis
Technical Summary
CVE-2025-22027 is a race condition vulnerability in the Linux kernel's media subsystem, specifically within the streamzap driver that handles certain USB remote control devices. The flaw arises from an incorrect sequence of operations during device disconnection. In the vulnerable code, the function streamzap_disconnect() calls rc_unregister_device() before usb_kill_urb(). The rc_unregister_device() function frees and nullifies the dev->raw pointer, which is subsequently accessed by the usb_kill_urb() function that waits for ongoing USB requests to complete. This leads to a use-after-free condition and a NULL pointer dereference in the ir_raw_event_store_with_filter() function, which processes raw infrared events. The race condition occurs because the dev->raw pointer is checked for NULL but can become invalid between the check and its use due to concurrent execution of the disconnect and callback handlers. This vulnerability was discovered by the Linux Verification Center using the Syzkaller fuzzing tool and has been addressed by reordering the calls so that usb_kill_urb() is invoked before rc_unregister_device(), ensuring that all USB requests are properly terminated before resources are freed. No known exploits are reported in the wild yet, and the vulnerability affects specific Linux kernel versions identified by commit hashes. The issue impacts kernel stability and could lead to system crashes or denial of service if exploited.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to systems running affected Linux kernel versions with the streamzap driver enabled, which is common in environments using USB infrared remote controls or similar media devices. Exploitation could cause kernel crashes leading to denial of service, impacting availability of critical systems such as servers, embedded devices, or workstations. While the vulnerability does not directly enable privilege escalation or data leakage, the resulting instability could disrupt business operations, especially in sectors relying on Linux-based infrastructure like telecommunications, manufacturing, and public services. Additionally, if attackers combine this flaw with other vulnerabilities, it could facilitate more severe attacks. The lack of known exploits currently reduces immediate risk, but the widespread use of Linux in Europe means that unpatched systems remain vulnerable to potential future exploitation.
Mitigation Recommendations
European organizations should promptly apply the official Linux kernel patches that reorder the disconnect sequence to call usb_kill_urb() before rc_unregister_device(). System administrators must verify that their Linux distributions have incorporated this fix, especially in kernels used in production environments. For systems where immediate patching is not feasible, disabling or unloading the streamzap driver can mitigate exposure, provided that the functionality it supports is not critical. Additionally, organizations should implement kernel crash monitoring and logging to detect potential exploitation attempts. Employing strict access controls to limit user ability to interact with USB devices and enforcing policies on device usage can reduce attack surface. Regularly updating kernel versions and subscribing to Linux security advisories will ensure timely awareness of related vulnerabilities. Finally, integrating fuzz testing tools like Syzkaller in development and QA processes can help identify similar race conditions proactively.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Poland, Sweden
CVE-2025-22027: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: media: streamzap: fix race between device disconnection and urb callback Syzkaller has reported a general protection fault at function ir_raw_event_store_with_filter(). This crash is caused by a NULL pointer dereference of dev->raw pointer, even though it is checked for NULL in the same function, which means there is a race condition. It occurs due to the incorrect order of actions in the streamzap_disconnect() function: rc_unregister_device() is called before usb_kill_urb(). The dev->raw pointer is freed and set to NULL in rc_unregister_device(), and only after that usb_kill_urb() waits for in-progress requests to finish. If rc_unregister_device() is called while streamzap_callback() handler is not finished, this can lead to accessing freed resources. Thus rc_unregister_device() should be called after usb_kill_urb(). Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
AI-Powered Analysis
Technical Analysis
CVE-2025-22027 is a race condition vulnerability in the Linux kernel's media subsystem, specifically within the streamzap driver that handles certain USB remote control devices. The flaw arises from an incorrect sequence of operations during device disconnection. In the vulnerable code, the function streamzap_disconnect() calls rc_unregister_device() before usb_kill_urb(). The rc_unregister_device() function frees and nullifies the dev->raw pointer, which is subsequently accessed by the usb_kill_urb() function that waits for ongoing USB requests to complete. This leads to a use-after-free condition and a NULL pointer dereference in the ir_raw_event_store_with_filter() function, which processes raw infrared events. The race condition occurs because the dev->raw pointer is checked for NULL but can become invalid between the check and its use due to concurrent execution of the disconnect and callback handlers. This vulnerability was discovered by the Linux Verification Center using the Syzkaller fuzzing tool and has been addressed by reordering the calls so that usb_kill_urb() is invoked before rc_unregister_device(), ensuring that all USB requests are properly terminated before resources are freed. No known exploits are reported in the wild yet, and the vulnerability affects specific Linux kernel versions identified by commit hashes. The issue impacts kernel stability and could lead to system crashes or denial of service if exploited.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to systems running affected Linux kernel versions with the streamzap driver enabled, which is common in environments using USB infrared remote controls or similar media devices. Exploitation could cause kernel crashes leading to denial of service, impacting availability of critical systems such as servers, embedded devices, or workstations. While the vulnerability does not directly enable privilege escalation or data leakage, the resulting instability could disrupt business operations, especially in sectors relying on Linux-based infrastructure like telecommunications, manufacturing, and public services. Additionally, if attackers combine this flaw with other vulnerabilities, it could facilitate more severe attacks. The lack of known exploits currently reduces immediate risk, but the widespread use of Linux in Europe means that unpatched systems remain vulnerable to potential future exploitation.
Mitigation Recommendations
European organizations should promptly apply the official Linux kernel patches that reorder the disconnect sequence to call usb_kill_urb() before rc_unregister_device(). System administrators must verify that their Linux distributions have incorporated this fix, especially in kernels used in production environments. For systems where immediate patching is not feasible, disabling or unloading the streamzap driver can mitigate exposure, provided that the functionality it supports is not critical. Additionally, organizations should implement kernel crash monitoring and logging to detect potential exploitation attempts. Employing strict access controls to limit user ability to interact with USB devices and enforcing policies on device usage can reduce attack surface. Regularly updating kernel versions and subscribing to Linux security advisories will ensure timely awareness of related vulnerabilities. Finally, integrating fuzz testing tools like Syzkaller in development and QA processes can help identify similar race conditions proactively.
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-12-29T08:45:45.807Z
- Cisa Enriched
- false
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9831c4522896dcbe7eb6
Added to database: 5/21/2025, 9:09:05 AM
Last enriched: 7/3/2025, 7:56:28 PM
Last updated: 7/29/2025, 7:57:43 PM
Views: 14
Related Threats
CVE-2025-8935: SQL Injection in 1000 Projects Sales Management System
MediumCVE-2025-8934: Cross Site Scripting in 1000 Projects Sales Management System
MediumCVE-2025-8933: Cross Site Scripting in 1000 Projects Sales Management System
MediumCVE-2025-8932: SQL Injection in 1000 Projects Sales Management System
MediumCVE-2025-8931: SQL Injection in code-projects Medical Store Management System
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.