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

vdpa/mlx5: Fix buffer length in create_direct_keys()

We have seen in our CI the following KASAN message:
BUG: KASAN: slab-out-of-bounds in cmd_exec+0x550/0xca0 [mlx5_core]
Read of size 272 at addr 0000000176795020 by task qemu-system-s39/82764
[...]
[<000011388ab3a7a0>] cmd_exec+0x550/0xca0 [mlx5_core]
[<000011388ab3b61c>] mlx5_cmd_exec_cb+0x25c/0x4f0 [mlx5_core]
[<000011388b21e82e>] mlx5_vdpa_exec_async_cmds+0x22e/0x5e0 [mlx5_vdpa]
[<000011388b21fd44>] create_direct_keys+0x954/0xef0 [mlx5_vdpa]
[...]
The buggy address is located 4128 bytes inside of
allocated 4384-byte region [0000000176794000, 0000000176795120)

So in essence we read 16 bytes beyond 4384-byte allocation.
create_direct_keys calculates the pointer and length for in and out
buffers.
The size calculation for in includes the entire structure
size (out + in + mtt[]) but the pointer passed to cmd_exec points only
to the 'in' field, skipping the 'out' field.

This causes mlx5_copy_to_msg() to read beyond the allocated buffer
by sizeof(out) bytes when copying command data.

Properly calculate the input size to match the pointer and allocation size.
Published: 2026-08-22
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Kernel Memory Corruption / Data Exposure
Action: Apply patch
AI Analysis

Impact

The vulnerability resides in the vdpa/mlx5 driver of the Linux kernel. It occurs when create_direct_keys() calculates an input buffer size that includes the out, in, and mtt structures, but passes a pointer to only the in portion of the buffer to cmd_exec(). The size passed therefore exceeds the actual allocated region by the size of the out structure, resulting in a slab‑out‑of‑bounds read of sixteen bytes beyond the allocated 4384‑byte buffer. This out‑of‑bounds read can expose kernel memory contents and may corrupt kernel state. Although the flaw does not provide direct remote code execution, it can facilitate local privilege escalation or destabilize the system by leaking sensitive data or corrupting memory used by control flow. The path to exploitation requires an attacker who can send commands to an mlx5 virtual DPDK device, typically implying local or privileged access to the kernel. Based on the description, it is inferred that an attacker must control the vDPA device to craft a malicious command that triggers the out‑of‑bounds read, implying that local or privileged access to the kernel is required for exploitation.

Affected Systems

Linux distributions that ship the Linux kernel with the vdpa and mlx5 drivers compiled as modules or built‑in. The vulnerability affects kernels that contain the unpatched version of the vdpa/mlx5 driver; no specific version constraints are listed. All systems running such kernels are potentially vulnerable until the vendor releases a patch or the driver is upgraded.

Risk and Exploitability

The CVSS score of 9.3 indicates critical risk. Because the flaw requires local interaction with the vDPA driver, a local attacker or privileged process could read sensitive information or corrupt kernel structures. The EPSS score of < 1% suggests a very low probability of exploitation in the wild. The absence from KEV indicates that no large‑scale supply‑chain attacks are presently underway. The kernel developers have addressed the issue via a patch that properly calculates the buffer size; applying that patch removes the out‑of‑bounds read. Until the patch is deployed, administrators should evaluate whether the vDPA and mlx5 drivers are required on their systems, and consider disabling or restricting access as a mitigating measure. Based on the description, it is inferred that the attack vector is local or privileged access, as the exploit requires sending commands to the vDPA driver from within the kernel context.

Generated by OpenCVE AI on August 25, 2026 at 08:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that includes the committed patch for the vdpa/mlx5 driver.
  • If updating the kernel is not feasible, unload or disable the vDPA and/or mlx5 modules on any systems where they are not essential, or restrict device access to trusted users only.
  • Monitor kernel logs for KASAN failures, slab‑out‑of‑bounds messages, or other signs of memory corruption, and investigate suspicious activity promptly.

Generated by OpenCVE AI on August 25, 2026 at 08:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Tue, 25 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 9.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Mon, 24 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122

Mon, 24 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sat, 22 Aug 2026 19:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-125

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: vdpa/mlx5: Fix buffer length in create_direct_keys() We have seen in our CI the following KASAN message: BUG: KASAN: slab-out-of-bounds in cmd_exec+0x550/0xca0 [mlx5_core] Read of size 272 at addr 0000000176795020 by task qemu-system-s39/82764 [...] [<000011388ab3a7a0>] cmd_exec+0x550/0xca0 [mlx5_core] [<000011388ab3b61c>] mlx5_cmd_exec_cb+0x25c/0x4f0 [mlx5_core] [<000011388b21e82e>] mlx5_vdpa_exec_async_cmds+0x22e/0x5e0 [mlx5_vdpa] [<000011388b21fd44>] create_direct_keys+0x954/0xef0 [mlx5_vdpa] [...] The buggy address is located 4128 bytes inside of allocated 4384-byte region [0000000176794000, 0000000176795120) So in essence we read 16 bytes beyond 4384-byte allocation. create_direct_keys calculates the pointer and length for in and out buffers. The size calculation for in includes the entire structure size (out + in + mtt[]) but the pointer passed to cmd_exec points only to the 'in' field, skipping the 'out' field. This causes mlx5_copy_to_msg() to read beyond the allocated buffer by sizeof(out) bytes when copying command data. Properly calculate the input size to match the pointer and allocation size.
Title vdpa/mlx5: Fix buffer length in create_direct_keys()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-25T05:41:54.897Z

Reserved: 2026-08-15T05:44:03.928Z

Link: CVE-2026-74712

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:45.957

Modified: 2026-08-25T06:18:56.223

Link: CVE-2026-74712

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-22T00:00:00Z

Links: CVE-2026-74712 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T08:30:04Z

Weaknesses