Skip to main content

Linux Kernel KVM CVE-2026-64283

| EUVDEUVD-2026-48995 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-07-25 Linux GHSA-64fq-x7r6-wc9g
7.0
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain /dev/kvm access (kvm group or root)
  2. Delivery
    Craft memslot binding ioctl with near-INT64_MAX offset
  3. Exploit
    Integer wraparound bypasses i_size_read bounds check
  4. Execution
    Access kernel memory outside guest_memfd allocation
  5. Persist
    Corrupt or read privileged kernel structures
  6. Impact
    Escalate to kernel-level code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) a 64-bit Linux kernel running KVM with the guest_memfd feature present (kernels >= 6.8, compiled with CONFIG_KVM_GMEM); (2) the attacking process must have read-write access to /dev/kvm, which on most distributions is restricted to the 'kvm' group or root - unprivileged users without group membership cannot trigger the vulnerable ioctl; (3) the attacker must craft a memslot binding request with an offset value sufficiently close to INT64_MAX that adding the (bounded) size causes a signed 64-bit integer wraparound. High complexity (AC:H) reflects this crafting requirement. Exploitation is NOT possible on kernels prior to 6.8 (guest_memfd did not exist), on 32-bit kernels (different integer semantics), when KVM is not loaded, or when the user lacks /dev/kvm access. The limiting factors - group-restricted device access and the niche guest_memfd feature - significantly reduce realistic exposure compared to the raw CVSS score.

Impact

The CVSS 3.1 score of 7.0 with vector AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H accurately reflects the risk profile: local access with low privileges is required, complexity is high due to the need to craft a specific near-maximum offset value, but successful exploitation yields full C/I/A impact. The Scope:Unchanged designation is significant - the impact is confined to the vulnerable kernel, not an escape to host from guest. EPSS at 0.22% (13th percentile) signals that automated or widespread exploitation is not anticipated, and there is no CISA KEV listing confirming active exploitation. The combination of high complexity, local-only access, and reliance on the relatively recent guest_memfd feature (Linux 6.8+) substantially limits realistic attacker population. That said, this class of integer overflow in a hypervisor memory-binding path is precisely the type of primitive that a sophisticated adversary targeting confidential computing environments (TDX/SNP) would seek to weaponize. The low EPSS should not be taken as a signal that the vulnerability is unimportant in KVM-heavy environments - rather, it reflects the niche attacker profile required. No CVSS/description conflict detected; the local vector is consistent with the requirement for direct access to /dev/kvm.

Exploit ScenarioDerived

An attacker with a local shell on a KVM hypervisor host (e.g., via a compromised guest escape or a user account in the 'kvm' group) crafts a KVM_SET_USER_MEMORY_REGION2-class ioctl that supplies a guest_memfd binding offset near the maximum positive signed 64-bit value (e.g., INT64_MAX - 1). When KVM computes offset + size, the addition wraps to a negative signed value, which is smaller than the inode's file size, allowing the otherwise-rejected binding. The attacker can then access or corrupt kernel memory regions outside the intended guest_memfd allocation, potentially escalating privileges or destabilizing the hypervisor. No public POC code has been identified at time of analysis, making this scenario currently limited to researchers or highly capable adversaries.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Integer overflow in the Linux kernel's KVM guest_memfd memslot binding logic allows a local attacker with low privileges to bypass a critical bounds check, potentially enabling memory corruption with high confidentiality, integrity, and availability impact. The flaw, introduced because offset and size were stored as signed loff_t rather than unsigned uoff_t values, causes the sum of a large positive offset and a valid size to silently wrap into a negative 64-bit value, which always satisfies the less-than comparison against the positive inode size. No public exploit has been identified at time of analysis, and EPSS exploitation probability is low at 0.22% (13th percentile), but successful exploitation on an affected KVM host or guest would be severe.

RemediationAI

The primary fix is to upgrade to Linux kernel 7.1.4 or 7.2-rc1 (or later), which contain the corrected unsigned handling for offset and size in the guest_memfd memslot binding path. For stable branch users, apply upstream fix commits f3a98d5881b9bd4807f49156143565f6aabcef1e and eba85fee7fc6cf28fec38a5bf3c378bef9a79ca6 as available via https://git.kernel.org/stable/c/f3a98d5881b9bd4807f49156143565f6aabcef1e and https://git.kernel.org/stable/c/eba85fee7fc6cf28fec38a5bf3c378bef9a79ca6. Where immediate patching is not feasible, restrict access to /dev/kvm to only trusted administrative accounts using Linux DAC (chmod/chown) or SELinux/AppArmor policies - this raises the effective privilege requirement and eliminates the PR:L attack vector for unprivileged users. Disabling the guest_memfd feature (CONFIG_KVM_GMEM) at compile time is an option for environments that do not use confidential VMs (TDX/SNP), but this trade-off eliminates confidential computing support entirely. Note that restricting /dev/kvm may break legitimate VM management tools and should be tested against workloads.

Affected VersionsENISA

Linux patch: 7.2-rc1
Linux a7800aa80ea4d5356b8474c2302812e9d4926fa6 <f3a98d5881b9bd4807f49156143565f6aabcef1e
Linux a7800aa80ea4d5356b8474c2302812e9d4926fa6 <eba85fee7fc6cf28fec38a5bf3c378bef9a79ca6
Linux 6.8
Linux patch: 7.1.4
Linux patch: 0

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the KVM guest_memfd subsystem (CWE-190: Integer Overflow), introduced in Linux 6.8 to support confidential virtual machine technologies such as Intel TDX and AMD SNP. When a guest memslot is bound to a guest_memfd inode, KVM performs a bounds check: if offset + size > i_size_read(inode), the binding is rejected. The bug is that offset and size, which are semantically unsigned 64-bit quantities (matching the memslot's page-count-derived dimensions), were locally stored and operated on as loff_t (signed 64-bit). KVM's memslot logic caps size at approximately 0x7fffffff000 (KVM_MEM_MAX_NR_PAGES = largest positive signed 32-bit value, multiplied by PAGE_SIZE), but the offset is completely unconstrained until that single bounds check. If a caller supplies an offset near the maximum positive signed 64-bit value, adding even the bounded size to it produces a signed integer wraparound to a large negative value. Since a negative signed value is always less than the positive inode size, the check passes and KVM allows a physically invalid binding. CPE indicates affected scope is cpe:2.3:a:linux:linux:* for kernels between commit a7800aa80ea4d5356b8474c2302812e9d4926fa6 (introduction) and the fix commits.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.0 HIGH

Local-only via /dev/kvm device (AV:L), crafting near-MAX offset requires deliberate effort (AC:H), kvm group membership needed (PR:L), high CIA impact on kernel memory corruption.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.0 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
CVSS changed
Aug 13, 2026 - 15:37 NVD
7.0 (HIGH)
CVE Published
Jul 25, 2026 - 08:49 nvd
HIGH 7.0
CVE Published
Jul 25, 2026 - 08:49 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

KVM: guest_memfd: Treat memslot binding offset+size as unsigned values

When binding a memslot to a guest_memfd file, treat the offset and size as unsigned values to fix a bug where the sum of the two can result in a false negative when checking for overflow against the size of the file. Passing unsigned values also avoids relying on somewhat obscure checks in other flows for safety, and tracks the offset and size as they are intended to be tracked, as unsigned values.

On 64-bit kernels, the number of pages a memslot contains and thus the size (and offset) of its guest_memfd binding are unsigned 64-bit values. Taking the offset+size as an loff_t instead of a uoff_t inadvertently converts the unsigned value to a signed value if the offset and/or size is massive.

Locally storing the offset and size as signed values is benign in and of itself (though even that is *extremely* difficult to discern), but operating on their sum is not.

For the offset, KVM explicitly checks against a negative value, which might seem like a bug as KVM could incorrectly reject a legitimate binding, but that's not actually the case as KVM_CREATE_GUEST_MEMFD takes a signed value for its size, i.e. a would-be-negative offset is also greater than the maximum possible size of any guest_memfd file.

Regarding the size, while KVM lacks an explicit check for a negative value, i.e. seemingly has a flawed overflow check, KVM restricts the number of pages in a single memslot to the largest positive signed 32-bit value:

if (id < KVM_USER_MEM_SLOTS && (mem->memory_size >> PAGE_SHIFT) > KVM_MEM_MAX_NR_PAGES) return -EINVAL;

and so that maximum "size" will ever be is 0x7fffffff000.

The sum of the two is, however, problematic. While the size is restricted by KVM's memslot logic, the offset is not, i.e. the offset is completely unchecked until the "offset + size > i_size_read(inode)" check. If the offset is the (nearly) largest possible _positive_ value, then adding size to the offset can result in a signed, negative 64-bit value. When compared against the size of the file (guaranteed to be positive), the negative sum is always smaller, and KVM incorrectly allows the absurd offset.

Opportunistically add missing includes in kvm_mm.h (instead of relying on its parents).

Executive ViewAI

Why It Matters

A high-severity integer overflow in Linux kernel KVM guest memory handling (CVE-2026-64283) could enable local attackers to corrupt memory on virtualization infrastructure, impacting both host and guest system confidentiality, integrity, and availability. Organizations running KVM-based environments lack vendor patches and must immediately implement access controls and monitoring to prevent exploitation.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict local system access to trusted users via sudoers and PAM enforcement, disable KVM kernel module on systems where virtualization is unnecessary, apply SELinux confined roles to KVM and guest processes, implement kernel.unprivileged_userns_clone=0 to limit namespace escalation vectors, and enable auditd monitoring of KVM module operations and memory access patterns. Establish patch application protocol for immediate deployment when vendor releases a fix.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
KVM guest_memfd feature limited to confidential-VM-capable kernels 6.8+
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

35
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +35
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy