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

dm ioctl: don't let data_start run past the buffer

struct dm_ioctl has seven bytes of trailing padding, so the smallest
buffer userspace is allowed to ask for, offsetof(struct dm_ioctl, data),
is seven bytes shorter than sizeof(struct dm_ioctl).

get_result_buffer() sets data_start to sizeof(struct dm_ioctl) without
looking at how big the buffer actually is. Ask for the minimum and
data_start ends up seven bytes past the end. Callers add it to
data_size, and ctl_ioctl() copies that much back to userspace:

BUG: KASAN: slab-out-of-bounds in _copy_to_user+0xad/0xd0
Read of size 312 at addr ffff8880169e4c00 by task repro-dm/140
ctl_ioctl+0x5e3/0xcb0
dm_ctl_ioctl+0x25/0x40
allocated 305-byte region [ffff8880169e4c00, ffff8880169e4d31)

A DM_LIST_DEVICES with data_size set to 305 is enough to hit it, and the
seven bytes that leak are whatever sat next to the allocation.

Clamp data_start to the buffer size.

Note that this is not a security bug because the out-of-bounds read can
only be triggered by root.
Published: 2026-10-23
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel data leakage
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel, the dm ioctl interface allows a root user to request a buffer that is too small for the kernel to safely copy back user data. The kernel calculates an offset that is seven bytes beyond the end of the allocated structure, causing an out‑of‑bounds read of kernel memory. Only a system with root privileges can trigger the bug, and the data leaked is whatever is adjacent to the allocation, typically kernel data that a privileged user could otherwise read. The vulnerability does not allow unprivileged users to execute code or elevate privileges; it merely leaks a small amount of kernel memory to root.

Affected Systems

All versions of the Linux kernel that contain the dm ioctl code before the patch commit that clamps data_start to the actual buffer size. The precise affected releases are those for which the commit identified in the references has not yet been merged, so any kernel sourced from the stable repository before that change is at risk.

Risk and Exploitability

Because the exploit requires root, the risk to typical unprivileged workloads is negligible. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, indicating no current exploitation activity. However, any compromised system that obtains root could leverage the out‑of‑bounds read to observe kernel memory, which may aid further attacks. The CVSS score is not supplied, but the inherent severity is moderate for a root‑only data‑leak scenario.

Generated by OpenCVE AI on October 23, 2026 at 16:35 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the patch commit id 5680b6fb3054677d4ee65d3baba24b649f1b430e or later
  • Reboot the system so updated kernel is loaded
  • Use your distribution’s package manager to apply the latest Linux kernel package, or if unavailable, patch the kernel source with the commit and rebuild

Generated by OpenCVE AI on October 23, 2026 at 16:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 17:00:00 +0000

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

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: dm ioctl: don't let data_start run past the buffer struct dm_ioctl has seven bytes of trailing padding, so the smallest buffer userspace is allowed to ask for, offsetof(struct dm_ioctl, data), is seven bytes shorter than sizeof(struct dm_ioctl). get_result_buffer() sets data_start to sizeof(struct dm_ioctl) without looking at how big the buffer actually is. Ask for the minimum and data_start ends up seven bytes past the end. Callers add it to data_size, and ctl_ioctl() copies that much back to userspace: BUG: KASAN: slab-out-of-bounds in _copy_to_user+0xad/0xd0 Read of size 312 at addr ffff8880169e4c00 by task repro-dm/140 ctl_ioctl+0x5e3/0xcb0 dm_ctl_ioctl+0x25/0x40 allocated 305-byte region [ffff8880169e4c00, ffff8880169e4d31) A DM_LIST_DEVICES with data_size set to 305 is enough to hit it, and the seven bytes that leak are whatever sat next to the allocation. Clamp data_start to the buffer size. Note that this is not a security bug because the out-of-bounds read can only be triggered by root.
Title dm ioctl: don't let data_start run past the buffer
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-10-23T12:23:04.655Z

Reserved: 2026-09-25T10:25:14.388Z

Link: CVE-2026-99063

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:30.140

Modified: 2026-10-23T13:17:30.140

Link: CVE-2026-99063

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T16:45:17Z

Weaknesses
  • CWE-125

    Out-of-bounds Read

  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor