Double Free of blk_mq_tag_set in dev remove after table load fails

Kernel Updated 02 Oct 2025

Summary

31/05/2021
N/A
No i
Unrated
Not published

GSD-2021-1000167: dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails. Affects Kernel versions >= 1c357a1e86a4227a6b6059f2de118ae47659cebc, < a992a283c0b77d0a7c2c348add0e6a21fb1dab67. 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 Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The Linux Kernel is an open-source monolithic Unix-like computer operating system kernel. It provides the essential services for the operating system, such as process management, memory management, device management, and file system management. The dm (device mapper) subsystem is a component of the Linux Kernel that provides a framework for mapping one block device onto another. It is commonly used for creating logical volumes, encryption, and snapshotting. The vulnerability in question affects the dm rq (request queue) module, which is responsible for managing I/O requests for the device mapper.

Vulnerability Detail

The vulnerability arises from a double free issue in the dm rq module when a block multi-queue (blk_mq) tag set is freed twice during the removal of a device after a table load failure. This can lead to a use-after-free condition, potentially allowing an attacker to execute arbitrary code or cause a denial-of-service by crashing the system. The vulnerability was introduced in Linux Kernel version 4.6 and is fixed in version 5.4.118.

How To Fix

No fixed version is published for this vulnerability.

To fix this vulnerability, it is recommended to update the Linux Kernel to version 5.4.118 or later. This can be done by obtaining the latest kernel source code from the official Linux Kernel repository (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/) and compiling it for the target system. Alternatively, users can check for available updates through their Linux distribution's package manager and install the latest kernel package.

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

Workaround

There is no known workaround for this vulnerability. It is essential to update the Linux Kernel to a fixed version as soon as possible.

Conclusion

The double free vulnerability in the dm rq module of the Linux Kernel can lead to a use-after-free condition, potentially allowing an attacker to execute arbitrary code or cause a denial-of-service. It is crucial to update the Linux Kernel to version 5.4.118 or later to mitigate this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

The vulnerability can potentially allow an attacker to execute arbitrary code or cause a denial-of-service by crashing the system.

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 to the playground, and it will analyze the dependencies and alert you if any known vulnerabilities are found.

At the time of this report, there is no known exploit for this vulnerability. However, it is crucial to update the Linux Kernel to a fixed version to mitigate the risk.

Yes, this vulnerability can be exploited remotely if the affected system is accessible over a network.

Unfortunately, there are no known mitigations available for this vulnerability other than updating the Linux Kernel to a fixed version.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

How To Fix

No fixed version is published for this vulnerability.

To fix this vulnerability, it is recommended to update the Linux Kernel to version 5.4.118 or later. This can be done by obtaining the latest kernel source code from the official Linux Kernel repository (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/) and compiling it for the target system. Alternatively, users can check for available updates through their Linux distribution's package manager and install the latest kernel package.

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

Follow Vulert in Google

Get more Vulert vulnerability and dependency-security updates in Google Search and AI results.