Bluetooth: hci_serdev: call init_rwsem() before p->open() in Kernel

Kernel Updated 02 Oct 2025

Summary

24/04/2022
N/A
No i
Unrated
Not published

GSD-2022-1001864: Bluetooth: hci_serdev: call init_rwsem() before p->open(). Affects Kernel versions >= d73e172816652772114827abaa2dbc053eecbbd7, < 041e5b8a62e63d1611bdd8936962e687ddfaf885. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The Kernel is a crucial component of the Linux operating system that manages system resources and facilitates communication between hardware and software. It provides essential functionalities for device drivers, file systems, and network protocols. The hci_serdev module within the Kernel is responsible for handling Bluetooth communication over a serial device. This vulnerability specifically affects the hci_serdev module and its initialization process.

Vulnerability Detail

The vulnerability arises from the improper order of function calls within the hci_serdev module. Specifically, the init_rwsem() function is not called before p->open(), which can lead to potential security issues. Attackers may exploit this vulnerability to gain unauthorized access, execute arbitrary code, or cause denial of service. The vulnerability was introduced in Kernel version v4.16 and has been fixed in version v5.15.33.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a workaround, users can disable the hci_serdev module if it is not required for their system. This can be done by blacklisting the module or removing it from the Kernel configuration before compiling. However, this workaround should only be considered if the module is not essential for Bluetooth functionality.

Conclusion

The Bluetooth vulnerability in the hci_serdev module of the Kernel can pose significant security risks if left unaddressed. It is crucial to update the Kernel to version v5.15.33 or later to mitigate these risks. Alternatively, users can disable the hci_serdev module if it is not required. For further support and assistance in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

This vulnerability can potentially allow attackers to gain unauthorized access, execute arbitrary code, or cause denial of service on systems using the affected Kernel version.

You can use the Vulert Playground (https://vulert.com/scanner) to check if your system is affected by this vulnerability. Simply upload your package-lock.json file and the Vulert Playground will analyze it for any open-source vulnerabilities, including this one.

At the time of this report, there is no known exploit for this vulnerability. However, it is important to apply the recommended fix or workaround to mitigate any potential risks.

Yes, you can manually patch the Kernel by downloading the latest source code from the official Git repository and applying the necessary changes. However, this process requires advanced knowledge and should be done with caution.

The recommended solution is to update the Kernel to the latest version. However, if updating is not feasible, users can consider implementing additional security measures, such as network segmentation and access controls, to reduce the risk of exploitation.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback