Linux Kernel up to 5.10.35/5.11.19/5.12.2 vhost-vdpa vm_flags memory corruption

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.4 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Linux Kernel up to 5.10.35/5.11.19/5.12.2. It has been rated as critical. Affected by this vulnerability is the function vm_flags of the component vhost-vdpa. This manipulation causes memory corruption.
This vulnerability is tracked as CVE-2021-46967. No exploit exists.
Upgrading the affected component is advised.
Details
A vulnerability has been found in Linux Kernel up to 5.10.35/5.11.19/5.12.2 (Operating System) and classified as critical. Affected by this vulnerability is the function vm_flags of the component vhost-vdpa. The manipulation with an unknown input leads to a memory corruption vulnerability. The CWE definition for the vulnerability is CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: vhost-vdpa: fix vm_flags for virtqueue doorbell mapping The virtqueue doorbell is usually implemented via registeres but we don't provide the necessary vma->flags like VM_PFNMAP. This may cause several issues e.g when userspace tries to map the doorbell via vhost IOTLB, kernel may panic due to the page is not backed by page structure. This patch fixes this by setting the necessary vm_flags. With this patch, try to map doorbell via IOTLB will fail with bad address.
The weakness was disclosed 02/27/2024. It is possible to read the advisory at git.kernel.org. This vulnerability is known as CVE-2021-46967. Technical details of the vulnerability are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 246995 (Linux Distros Unpatched Vulnerability : CVE-2021-46967), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 5.10.36, 5.11.20, 5.12.3 or 5.13 eliminates this vulnerability. Applying the patch 3b8b6399666a/940230a5c31e/93dbbf20e3ff/3a3e0fad16d4 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at Tenable (246995). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Product
Type
Vendor
Name
Version
- 5.10.0
- 5.10.1
- 5.10.2
- 5.10.3
- 5.10.4
- 5.10.5
- 5.10.6
- 5.10.7
- 5.10.8
- 5.10.9
- 5.10.10
- 5.10.11
- 5.10.12
- 5.10.13
- 5.10.14
- 5.10.15
- 5.10.16
- 5.10.17
- 5.10.18
- 5.10.19
- 5.10.20
- 5.10.21
- 5.10.22
- 5.10.23
- 5.10.24
- 5.10.25
- 5.10.26
- 5.10.27
- 5.10.28
- 5.10.29
- 5.10.30
- 5.10.31
- 5.10.32
- 5.10.33
- 5.10.34
- 5.10.35
- 5.11.0
- 5.11.1
- 5.11.2
- 5.11.3
- 5.11.4
- 5.11.5
- 5.11.6
- 5.11.7
- 5.11.8
- 5.11.9
- 5.11.10
- 5.11.11
- 5.11.12
- 5.11.13
- 5.11.14
- 5.11.15
- 5.11.16
- 5.11.17
- 5.11.18
- 5.11.19
- 5.12.0
- 5.12.1
- 5.12.2
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.4
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 5.5
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: Partially
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 246995
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2021-46967
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 5.10.36/5.11.20/5.12.3/5.13
Patch: 3b8b6399666a/940230a5c31e/93dbbf20e3ff/3a3e0fad16d4
Timeline
02/27/2024 🔍02/27/2024 🔍
02/27/2024 🔍
08/10/2025 🔍
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2021-46967 (🔍)
GCVE (CVE): GCVE-0-2021-46967
GCVE (VulDB): GCVE-100-254947
Entry
Created: 02/27/2024 20:07Updated: 08/10/2025 04:25
Changes: 02/27/2024 20:07 (43), 03/14/2024 17:11 (1), 12/06/2024 19:02 (26), 08/10/2025 04:25 (2)
Complete: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.