Cloudanix VulnDB

CVE-2026-52923

None

CVSS

—

EPSS

0.2%

Published

Jun 24, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A Linux kernel bug can let a local user destabilize a system by corrupting how shared memory identifiers are tracked.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Use After Free
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

This is a Linux kernel use-after-free in the SysV IPC checkpoint/restore allocation path. When a requested next SysV IPC identifier is allocated with an unbounded upper limit, the kernel can place an IPC object outside the valid ipc_mni identifier range. The object’s encoded ID is later truncated back into the normal range during removal, causing the wrong IDR slot to be removed while the real high-index IDR entry remains as a stale pointer. For shared memory objects, later enumeration through /proc/sysvipc/shm can dereference freed memory, potentially causing kernel memory corruption or a denial-of-service crash. Depending on allocator behavior and exploit reliability, this class of flaw may also create a path toward local privilege escalation, although no public exploit maturity is indicated in the supplied data.

Why it matters to the business

Successful exploitation can destabilize affected Linux systems and interrupt workloads by triggering kernel crashes or memory corruption. Because the issue is in core kernel IPC handling, the impact can affect servers, containers, and applications that rely on shared memory or SysV IPC. Current exploitation signals are low: EPSS is 0.00134, the issue is not listed in CISA KEV, is not marked as ransomware-used, and no exploit maturity is reported. Even so, kernel vulnerabilities should be remediated through normal patch cycles because many organizations inherit exposure through distributions, appliances, cloud images, and container hosts.

How an attack unfolds

An attacker with sufficient local access to influence the SysV IPC checkpoint/restore next-ID sysctl path attempts to force allocation near the end of the valid SysV IPC ID space. They occupy the valid tail of the ID range and then request a specific next ID. Because the vulnerable kernel calls idr_alloc() without bounding the upper allocation limit to ipc_mni, allocation can spill into an out-of-range IDR index. The kernel still encodes the object identifier using the normal SysV IPC index width. When the object is later removed, the encoded ID is converted back to an index, truncating the true high IDR index and removing or targeting the wrong in-range slot. For shared memory, the object can be freed while a stale high-index IDR entry remains. A later read of /proc/sysvipc/shm walks that stale entry and dereferences freed memory, leading to a kernel use-after-free condition and likely system crash; advanced exploitation would require shaping freed kernel memory to influence the dereference.

How to fix it

Upgrade to a Linux kernel build from the relevant distribution or vendor that includes the fix limiting SysV IPC next-ID allocation to the valid ipc_mni range. If exact fixed package versions are not available, track vendor advisories for CVE-2026-52923 and deploy the first kernel update that references the ipc_idr_alloc() / SysV IPC checkpoint-restore fix. Reboot systems after installing the kernel update, because the vulnerable code remains active until the patched kernel is running. As interim risk reduction, restrict local shell access, avoid granting unnecessary CAP_SYS_ADMIN or equivalent container privileges, limit use of privileged containers, restrict writes to /proc/sys/kernel/*_next_id sysctls where possible, and monitor for abnormal SysV IPC creation/removal activity. Mitigations should not be treated as a substitute for patching because the flaw is in kernel memory management logic.

How to confirm the fix worked

Confirm the running kernel, not only the installed package, is updated to a vendor build containing the fix. Validate with uname -r, distribution package metadata, and vendor security advisory references for CVE-2026-52923. Where source validation is possible, confirm ipc_idr_alloc() bounds checkpoint/restore next-ID allocation to ipc_mni rather than using an open-ended idr_alloc() upper bound. After patching and rebooting, verify that local users or containers cannot write to sensitive SysV IPC next-ID sysctls unless explicitly required. Security teams may also run controlled regression tests in non-production environments that exercise SysV IPC next-ID allocation near the valid range boundary and confirm allocation fails safely instead of creating out-of-range IDR entries.

Typical attack path

  1. Gain local code execution on an affected Linux host or in a context with sufficient privilege to manipulate SysV IPC checkpoint/restore next-ID settings.
  2. Create or occupy SysV IPC objects so the valid tail of the IPC identifier space is full.
  3. Write or request a controlled next SysV IPC ID through the checkpoint/restore sysctl path, such as the shared-memory next-ID path.
  4. Trigger allocation that spills beyond the valid ipc_mni range because the vulnerable kernel does not enforce an upper bound.
  5. Remove the IPC object so cleanup uses a truncated ID-derived index and leaves the true high-index IDR entry stale.
  6. Trigger enumeration of SysV shared memory, for example by reading /proc/sysvipc/shm, causing the kernel to dereference freed memory.
  7. Use the resulting memory corruption to crash the host or, if further exploit primitives are developed, attempt local privilege escalation.

How to detect it

Look for evidence of local exploitation attempts rather than network indicators; this issue is triggered through kernel IPC behavior and does not have a remote wire-level signature. Relevant sources include auditd logs for writes to /proc/sys/kernel/shm_next_id, /proc/sys/kernel/msg_next_id, or /proc/sys/kernel/sem_next_id; shell history and process execution logs for sysctl commands touching kernel.*_next_id; kernel logs from dmesg, journald, rsyslog, pstore, kdump, or crash dumps; and EDR telemetry showing unusual SysV IPC object creation/removal followed by reads of /proc/sysvipc/shm. Investigate sequences where a user or container writes a SysV IPC next-ID value, rapidly creates/removes shared memory segments, and then reads /proc/sysvipc/shm. Kernel crash indicators to review include KASAN use-after-free reports, general protection faults, slab corruption, NULL or invalid pointer dereferences, or call traces involving SysV IPC functions such as ipc_idr_alloc(), ipc_rmid(), shm_destroy(), or /proc/sysvipc/shm enumeration. Absence of these artifacts does not prove non-exploitation, especially on systems without audit logging, kernel crash persistence, or KASAN-enabled kernels.

  • /proc/sys/kernel/shm_next_id
  • /proc/sys/kernel/msg_next_id
  • /proc/sys/kernel/sem_next_id
  • kernel.shm_next_id
  • kernel.msg_next_id
  • kernel.sem_next_id
  • /proc/sysvipc/shm
  • BUG: KASAN: use-after-free
  • use-after-free in ipc_idr_alloc
  • ipc_idr_alloc
  • ipc_rmid
  • shm_destroy
  • sysvipc
  • general protection fault
  • Unable to handle kernel paging request

What your security team should do

  • Prioritize kernel updates on multi-user Linux systems, container hosts, shared compute platforms, and systems running untrusted workloads.
  • Inventory affected Linux kernel versions through endpoint management, vulnerability scanners, and cloud image/package metadata, then confirm the patched kernel is actually running after reboot.
  • Review container and workload configurations for unnecessary privileged mode, host PID/IPC namespace sharing, CAP_SYS_ADMIN, or write access to /proc/sys/kernel sysctls.
  • Add detection logic for suspicious writes to SysV IPC next-ID sysctls and repeated reads of /proc/sysvipc/shm following such writes.
  • Monitor kernel logs for use-after-free, KASAN, general protection fault, or crash signatures involving SysV IPC, shared memory, IDR, ipc_idr_alloc, ipc_rmid, or shm_destroy.
  • Because EPSS is low and there is no KEV listing or known mature exploit in the supplied data, handle as a normal-to-high priority kernel maintenance item unless exposed on shared or untrusted compute infrastructure, where urgency should be increased.

The record

In the Linux kernel, the following vulnerability has been resolved: ipc: limit next_id allocation to the valid ID range The checkpoint/restore sysctl path can request the next SysV IPC id through ids->next_id. ipc_idr_alloc() currently forwards that request to idr_alloc() with an open-ended upper bound. If the valid tail of the SysV IPC id space is full, the allocation can spill beyond ipc_mni. The returned SysV IPC id still uses the normal index encoding, so later lookup and removal can target the wrong slot. This leaves the real IDR entry behind and breaks the IDR state for the object. The bug is in ipc_idr_alloc() in the checkpoint/restore path. 1. ids->next_id is passed to: idr_alloc(&ids->ipcs_idr, new, ipcid_to_idx(next_id), 0, ...) 2. The zero upper bound makes the allocation effectively open-ended. Once the valid SysV IPC tail is occupied, idr_alloc() can spill past ipc_mni and allocate an entry beyond the valid IPC id range. 3. The new object id is still encoded with the narrower SysV IPC index width: new->id = (new->seq << ipcmni_seq_shift()) + idx 4. Later removal goes through ipc_rmid(), which uses: ipcid_to_idx(ipcp->id) That truncates the real IDR index. An object actually stored at a high index can then be removed as if it lived at a low in-range index. 5. For shared memory, shm_destroy() frees the current object anyway, but the real high IDR slot is left behind as a dangling pointer. 6. A subsequent walk of /proc/sysvipc/shm reaches the stale IDR entry and dereferences freed memory. Prevent this by bounding the requested allocation to ipc_mni so the checkpoint/restore path fails once the valid range is exhausted.

Affected packages

Ecosystem Package Introduced Fixed