7.8
HIGH CVSS 3.1
CVE-2026-74312
vhost/vdpa: validate virtqueue index in mmap and fault paths
Description

In the Linux kernel, the following vulnerability has been resolved: vhost/vdpa: validate virtqueue index in mmap and fault paths vhost_vdpa_mmap() and vhost_vdpa_fault() use vma->vm_pgoff as a virtqueue index for get_vq_notification(), but they do not validate that the index is smaller than v->nvqs. The ioctl path already performs both a bounds check and array_index_nospec(), but the mmap/fault path only checks that the index fits in u16. This allows an out-of-range queue index to reach driver-specific get_vq_notification() callbacks. Fix this by extracting a unified vhost_vdpa_get_vq_notification() helper that validates the queue index against v->nvqs and applies array_index_nospec() before calling the driver callback. Both the mmap and fault paths use this helper, and the bounds checking is consolidated into a single location. From source inspection, the most defensible impact is out-of-bounds access in the callback path, potentially leading to invalid PFN remaps and crash/DoS.

INFO

Published Date :

Aug. 15, 2026, 6:22 a.m.

Last Modified :

Aug. 17, 2026, 6:19 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-74312 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 HIGH 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
Validate virtqueue index in mmap and fault paths to prevent out-of-bounds access.
  • Apply the unified vhost_vdpa_get_vq_notification() helper.
  • Validate queue index against v->nvqs.
  • Apply array_index_nospec() before calling driver callback.
  • Update the Linux kernel.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-74312 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-74312 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-74312 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-74312 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 17, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '0f310bac6db9bd3bb1655707d692d9d2a86eeb17', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '4bf5a51963ff816f7443702dc536b9327cf5e550', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '55a644031e610ea93fbde2702c7b8f267476552f', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '2b3f79b90b231a682315fe2191bb71925650e183', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': 'bbba4f92515238d76018e9b75e41b16d83df52c8', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '1f5f94c6c6b2e4eaa5b45815509e21d0c6cfa81e', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '32ac9097aa2463fcfc12f61cc4a9ebc3579cba7d', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '929e4f044621c8cc30b612fb74e1410bef09e41b', 'versionType': 'git'}], 'programFiles': ['drivers/vhost/vdpa.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/vhost/vdpa.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '0f310bac6db9bd3bb1655707d692d9d2a86eeb17', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '4bf5a51963ff816f7443702dc536b9327cf5e550', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '55a644031e610ea93fbde2702c7b8f267476552f', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '2b3f79b90b231a682315fe2191bb71925650e183', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': 'bbba4f92515238d76018e9b75e41b16d83df52c8', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '1f5f94c6c6b2e4eaa5b45815509e21d0c6cfa81e', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '32ac9097aa2463fcfc12f61cc4a9ebc3579cba7d', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '929e4f044621c8cc30b612fb74e1410bef09e41b', 'versionType': 'git'}], 'programFiles': ['drivers/vhost/vdpa.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/vhost/vdpa.c'], 'defaultStatus': 'affected'}]
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 15, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '0f310bac6db9bd3bb1655707d692d9d2a86eeb17', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '4bf5a51963ff816f7443702dc536b9327cf5e550', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '55a644031e610ea93fbde2702c7b8f267476552f', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '2b3f79b90b231a682315fe2191bb71925650e183', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': 'bbba4f92515238d76018e9b75e41b16d83df52c8', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '1f5f94c6c6b2e4eaa5b45815509e21d0c6cfa81e', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '32ac9097aa2463fcfc12f61cc4a9ebc3579cba7d', 'versionType': 'git'}, {'status': 'affected', 'version': 'ddd89d0a059d8e9740c75a97e0efe9bf07ee51f9', 'lessThan': '929e4f044621c8cc30b612fb74e1410bef09e41b', 'versionType': 'git'}], 'programFiles': ['drivers/vhost/vdpa.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/vhost/vdpa.c'], 'defaultStatus': 'affected'}]
    Added Description In the Linux kernel, the following vulnerability has been resolved: vhost/vdpa: validate virtqueue index in mmap and fault paths vhost_vdpa_mmap() and vhost_vdpa_fault() use vma->vm_pgoff as a virtqueue index for get_vq_notification(), but they do not validate that the index is smaller than v->nvqs. The ioctl path already performs both a bounds check and array_index_nospec(), but the mmap/fault path only checks that the index fits in u16. This allows an out-of-range queue index to reach driver-specific get_vq_notification() callbacks. Fix this by extracting a unified vhost_vdpa_get_vq_notification() helper that validates the queue index against v->nvqs and applies array_index_nospec() before calling the driver callback. Both the mmap and fault paths use this helper, and the bounds checking is consolidated into a single location. From source inspection, the most defensible impact is out-of-bounds access in the callback path, potentially leading to invalid PFN remaps and crash/DoS.
    Added Reference https://git.kernel.org/stable/c/0f310bac6db9bd3bb1655707d692d9d2a86eeb17
    Added Reference https://git.kernel.org/stable/c/1f5f94c6c6b2e4eaa5b45815509e21d0c6cfa81e
    Added Reference https://git.kernel.org/stable/c/2b3f79b90b231a682315fe2191bb71925650e183
    Added Reference https://git.kernel.org/stable/c/32ac9097aa2463fcfc12f61cc4a9ebc3579cba7d
    Added Reference https://git.kernel.org/stable/c/4bf5a51963ff816f7443702dc536b9327cf5e550
    Added Reference https://git.kernel.org/stable/c/55a644031e610ea93fbde2702c7b8f267476552f
    Added Reference https://git.kernel.org/stable/c/929e4f044621c8cc30b612fb74e1410bef09e41b
    Added Reference https://git.kernel.org/stable/c/bbba4f92515238d76018e9b75e41b16d83df52c8
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.