Vulnerability in nvmet-tcp package: Incorrect Locking in state_change sk callback

Kernel Updated 02 Oct 2025

Summary

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

GSD-2021-1000268: nvmet-tcp: fix incorrect locking in state_change sk callback. Affects Kernel versions >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 906c538340dde6d891df89fe7dac8eaa724e40da. 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 nvmet-tcp package is a component of the Linux Kernel, specifically designed for the NVMe over Fabrics (NVMe-oF) TCP transport. It provides the necessary functionality to enable NVMe storage devices to be accessed over a TCP/IP network. The package allows for efficient data transfer and communication between the NVMe host and the NVMe storage device.

However, a vulnerability has been identified in the nvmet-tcp package, which involves incorrect locking in the state_change sk callback. This vulnerability can potentially lead to security issues and compromise the integrity and confidentiality of data being transferred over the network.

Vulnerability Detail

The vulnerability in the nvmet-tcp package arises from incorrect locking in the state_change sk callback. This issue was introduced in version v5.0 of the Linux Kernel by commit 872d26a391da92ed8f0c0f5cb5fef428067b7f30 and affects all subsequent versions until it was fixed in v5.12.4 by commit 906c538340dde6d891df89fe7dac8eaa724e40da.

The incorrect locking can result in race conditions and potential data corruption or leakage. Attackers may exploit this vulnerability to gain unauthorized access to sensitive information or disrupt the normal functioning of the NVMe storage devices. It is crucial to address this vulnerability promptly to ensure the security and reliability of NVMe-oF TCP transport.

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

No specific workaround has been provided for this vulnerability. It is advised to apply the recommended fix by updating the Linux Kernel to the patched version.

Conclusion

The vulnerability in the nvmet-tcp package, caused by incorrect locking in the state_change sk callback, can have severe security implications. It is crucial to update the Linux Kernel to version v5.12.4 or later to mitigate this vulnerability. Failure to address this issue may result in data corruption, unauthorized access, or disruption of NVMe storage devices. For further support and assistance in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

The nvmet-tcp package is a component of the Linux Kernel that enables NVMe storage devices to be accessed over a TCP/IP network.

This vulnerability can lead to race conditions, data corruption, and potential unauthorized access to sensitive information.

To fix this vulnerability, update the Linux Kernel to version v5.12.4 or later.

Yes, all versions starting from v5.0 until v5.12.3 are affected. The vulnerability was fixed in v5.12.4.

The updated Linux Kernel can be obtained from the official Linux Kernel repository: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/

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