CVE-2026-53059
High · 7.8CVSS
7.8
EPSS
0.1%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A flaw in Linux storage handling can let someone with powerful local access crash a system by creating an unusually large virtual disk configuration.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This is a Linux kernel device-mapper memory-corruption flaw in the dm log component. A 64-bit region count can be truncated into a 32-bit unsigned integer when creating a device-mapper mirror target with an extremely large target length and small region size. The truncated value causes kernel bitsets such as clean_bits, sync_bits, and recovering_bits to be allocated too small, while later log operations use region indexes from the full, untruncated range. The result is out-of-bounds writes to vmalloc-backed kernel heap memory. The most likely impact is a local kernel crash or reboot; because this is a kernel heap write primitive, privilege escalation or broader kernel compromise may be possible depending on exploitability and hardening, but no public exploit maturity is currently indicated.
Why it matters to the business
Successful exploitation can make a Linux host unstable or unavailable by triggering a kernel crash, which can interrupt workloads, storage services, virtualization platforms, CI systems, or appliances that rely on device-mapper. Exploitation generally requires local administrative capability to create or modify device-mapper targets, so the highest risk is on systems where untrusted users, containers, automation, or compromised service accounts can reach privileged storage-management operations. The current EPSS score is low and it is not listed in CISA KEV, but kernel memory-corruption issues should still be prioritized on multi-user systems, shared infrastructure, and hosts where local privilege boundaries matter.
How an attack unfolds
An attacker first obtains local access to a Linux system with the ability to issue device-mapper control operations, typically root or CAP_SYS_ADMIN-equivalent privileges. They create an oversized device-mapper target, such as a mirror target, whose calculated region count exceeds the 32-bit range while using a small enough region size to trigger truncation. During device-mapper log context creation, the kernel stores the 64-bit result in a 32-bit local variable, causing an undersized allocation for internal synchronization bitmaps. Subsequent mirror/log status or synchronization operations access bits using indexes based on the real, much larger region space, producing out-of-bounds writes in kernel memory. This can corrupt kernel heap state and commonly results in an oops, panic, hang, or reboot; in a more advanced scenario, an attacker may attempt to shape the corruption for privilege escalation.
How to fix it
Upgrade to a Linux kernel version provided by the relevant distribution or vendor that includes the dm log fix for the region_count overflow. The upstream fix widens region_count handling to sector_t and adds an explicit overflow check before assigning the value to the log context. Because no exact fixed package versions were supplied, use vendor advisories for the deployed distribution, including RHEL, Ubuntu, Debian, SUSE, Fedora, Amazon Linux, Oracle Linux, Android-derived kernels, appliance kernels, and cloud-provider kernel channels. After patching, reboot into the fixed kernel and remove or decommission any vulnerable running kernels. If immediate patching is not possible, restrict device-mapper administration to trusted administrators only, remove unnecessary CAP_SYS_ADMIN from containers and services, prevent untrusted users from invoking dmsetup or equivalent storage orchestration tooling, and monitor for creation of unusually large mirror targets. Mitigation should not be considered equivalent to patching because the vulnerable code remains reachable by privileged local actors.
How to confirm the fix worked
Confirm that the running kernel, not merely the installed package, has been updated by checking the active kernel version after reboot and comparing it with the vendor advisory for this issue. Verify that no workloads are still booted into older kernels. Review whether untrusted users, containers, or automation have CAP_SYS_ADMIN, access to /dev/mapper/control, or permission to run dmsetup. On test systems only, defenders may validate exposure by attempting to create a device-mapper mirror configuration with an oversized target and confirming that the fixed kernel rejects it cleanly rather than truncating the region count or crashing. Avoid running proof-of-concept commands on production systems because they may panic the kernel. Also validate that monitoring detects device-mapper table creation, suspicious dmsetup usage, and kernel oops/panic messages involving dm_log or core_in_sync.
Typical attack path
- Gain local shell, compromised service execution, or administrative access on a Linux host.
- Obtain the ability to use device-mapper control operations, such as root or CAP_SYS_ADMIN-equivalent privileges.
- Create a very large device-mapper target length with a small region size so the calculated mirror/log region count exceeds UINT_MAX.
- Load or activate a vulnerable mirror target configuration that causes region_count truncation during dm log context creation.
- Trigger device-mapper log operations such as status, synchronization, bit set, bit clear, or bit test operations.
- Cause out-of-bounds writes in vmalloc-backed kernel memory, leading to kernel crash, reboot, or potentially controlled memory corruption.
How to detect it
To determine whether exploitation or attempted exploitation already occurred, review host audit logs, shell histories, sudo logs, process execution telemetry, EDR events, and kernel logs for device-mapper activity shortly before crashes or reboots. Focus on executions of dmsetup or storage tooling that create mirror targets with extremely large sector counts, especially values around or above 4294967296 regions or target lengths such as 8589934594 sectors. Check auditd for access to /dev/mapper/control, device-mapper ioctls, and executions by unexpected users or service accounts. Review dmesg, journald, syslog, kmsg, crash dumps, and kernel panic records for dm_log, core_in_sync, vmalloc corruption, recursive fault, scheduling while atomic, or udev-worker crash context. In containerized environments, examine container runtime and Kubernetes audit data for containers granted privileged mode, host device access, or CAP_SYS_ADMIN followed by dmsetup or LVM activity. Because the vulnerability may only leave crash artifacts, absence of a clean application log event does not rule out exploitation; correlate device-mapper table creation events with abrupt host reboots, kernel oops messages, and incomplete storage-device setup operations.
- dmsetup create bigzero --table '0 8589934594 zero'
- dmsetup create mymirror --table '0 8589934594 mirror
- 8589934594 mirror core 2 2 nosync
- /dev/mapper/bigzero
- core_in_sync+0x14/0x30 [dm_log]
- BUG: scheduling while atomic
- Fixing recursive fault but reboot is needed
- RIP: 0010:core_in_sync
- CR2: 0000000000000008
- udev-worker
- dm_log
- /dev/mapper/control
- DM_DEV_CREATE
- DM_TABLE_LOAD
- sync_count=1
- 1/4294967297
What your security team should do
- Prioritize patching and rebooting Linux systems where local users, containerized workloads, virtualization tenants, storage automation, or compromised service accounts may reach device-mapper functionality.
- Inventory systems exposing /dev/mapper/control and systems where dmsetup, LVM, multipath, cryptsetup, or storage orchestration tools can be invoked by automation or non-interactive accounts.
- Remove CAP_SYS_ADMIN and broad device access from containers and services unless strictly required; treat these privileges as sufficient to reach this bug.
- Search recent logs for suspicious or failed device-mapper mirror target creation, unusually large sector counts, kernel oopses, and crashes involving dm_log or core_in_sync.
- Ensure kernel live-patching programs, if used, actually include this fix; otherwise schedule a full kernel update and reboot.
- On systems that cannot be patched immediately, restrict dmsetup and device-mapper control access to a small set of trusted administrators and increase monitoring for device-mapper ioctl activity.
- After remediation, confirm the active booted kernel is fixed and remove vulnerable fallback kernels where operationally feasible.
The record
In the Linux kernel, the following vulnerability has been resolved: dm log: fix out-of-bounds write due to region_count overflow The local variable region_count in create_log_context() is declared as unsigned int (32-bit), but dm_sector_div_up() returns sector_t (64-bit). When a device-mapper target has a sufficiently large ti->len with a small region_size, the division result can exceed UINT_MAX. The truncated value is then used to calculate bitset_size, causing clean_bits, sync_bits, and recovering_bits to be allocated far smaller than needed for the actual number of regions. Subsequent log operations (log_set_bit, log_clear_bit, log_test_bit) use region indices derived from the full untruncated region space, causing out-of-bounds writes to kernel heap memory allocated by vmalloc. This can be reproduced by creating a mirror target whose region_count overflows 32 bits: dmsetup create bigzero --table '0 8589934594 zero' dmsetup create mymirror --table '0 8589934594 mirror \ core 2 2 nosync 2 /dev/mapper/bigzero 0 \ /dev/mapper/bigzero 0' The status output confirms the truncation (sync_count=1 instead of 4294967297, because 0x100000001 was truncated to 1): $ dmsetup status mymirror 0 8589934594 mirror 2 254:1 254:1 1/4294967297 ... This leads to a kernel crash in core_in_sync: BUG: scheduling while atomic: (udev-worker)/9150/0x00000000 RIP: 0010:core_in_sync+0x14/0x30 [dm_log] CR2: 0000000000000008 Fixing recursive fault but reboot is needed! Fix by widening the local region_count to sector_t and adding an explicit overflow check before the value is assigned to lc->region_count.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-78402 Stack-based buffer overflow and out-of-bounds write vulnerability in Thales Sentinel Keys… CWE-787
- CVE-2026-119777 A flaw was found in GStreamer's gst-plugins-bad H.266/VVC parser. CWE-787
- CVE-2026-104065 Scribus before 1.6.7 contains an out-of-bounds write vulnerability in the importdrw… CWE-787
- CVE-2026-104067 Scribus before 1.6.7 contains an out-of-bounds memory access vulnerability in the… CWE-787
- CVE-2026-104066 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the Mac PICT image… CWE-787
- CVE-2026-104061 Scribus before 1.6.7 contains a heap out-of-bounds write vulnerability in the… CWE-787
- CVE-2026-104062 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the PICT image… CWE-787
- CVE-2026-61627 libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation… CWE-787