Skip to main content

Linux Kernel CVE-2026-52923

| EUVDEUVD-2026-38726 HIGH
Expired Pointer Dereference (CWE-825)
2026-06-24 Linux GHSA-m237-4jxg-w5jh
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
6.4 MEDIUM

Local-only via privileged checkpoint/restore path (AV:L, PR:H), and requires filling the IPC id tail to win the race (AC:H), but UAF yields full C/I/A impact.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Jun 28, 2026 - 08:24 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.8 (HIGH)
Patch available
Jun 24, 2026 - 09:16 EUVD
CVE Published
Jun 24, 2026 - 07:14 cve.org
UNKNOWN (no severity yet)
CVE Published
Jun 24, 2026 - 07:14 cve.org
HIGH 7.8

DescriptionCVE.org

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, ...)

  1. 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.

  1. The new object id is still encoded with the narrower SysV IPC index

width:

new->id = (new->seq << ipcmni_seq_shift()) + idx

  1. 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.

  1. For shared memory, shm_destroy() frees the current object anyway, but

the real high IDR slot is left behind as a dangling pointer.

  1. 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.

AnalysisAI

Local privilege escalation and information disclosure in the Linux kernel's SysV IPC subsystem stems from an unbounded ID allocation in ipc_idr_alloc() along the checkpoint/restore (CRIU) path, where a user-supplied next_id can spill past the valid ipc_mni range. Because removal truncates the index via ipcid_to_idx(), a high-index object can be freed while its real IDR slot dangles, so a subsequent /proc/sysvipc/shm walk dereferences freed memory - a use-after-free. No public exploit identified at time of analysis; EPSS is low at 0.17% (6th percentile) and the issue is not on CISA KEV.

Technical ContextAI

The flaw lives in the System V IPC layer (shared memory, semaphores, message queues) which maps IPC identifiers to kernel objects through an IDR radix tree. The checkpoint/restore-in-userspace (CRIU) feature exposes ids->next_id via a sysctl so a restored process can request a specific IPC id. ipc_idr_alloc() forwards this to idr_alloc() with a zero (open-ended) upper bound instead of clamping to ipc_mni, the maximum number of IPC ids. IPC ids are encoded as (seq << ipcmni_seq_shift()) + idx using a narrow index width; when allocation spills above that width, the index encoding and the actual IDR slot diverge. The root cause class is a use-after-free (CWE-416) arising from an off-range/improper-bounds allocation (CWE-787/CWE-129 family); the affected component is the generic ipc/util.c logic shared by shm, sem and msg. CPE data identifies the product as cpe:2.3:a:linux:linux, i.e. the upstream Linux kernel.

RemediationAI

Apply your distribution's kernel update built from one of the fixed stable releases - Vendor-released patch: 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.93, 7.0.12, or 7.1 (choose the patch level matching your series), referencing the stable commits at git.kernel.org/stable/c/8c58a92849175f5e2ab7bc2734b3b89afe79f6ef and related hashes. The fix simply bounds the requested allocation to ipc_mni so the checkpoint/restore path fails cleanly once the valid id range is exhausted. Where immediate patching is not possible, the most effective compensating control is to disable the checkpoint/restore attack surface: build/run a kernel without CONFIG_CHECKPOINT_RESTORE, or restrict who can write ids->next_id and use CRIU/restore functionality - trade-off being loss of container live-migration and checkpoint/restore capability. Additionally restrict the capabilities and namespaces that allow privileged IPC manipulation (avoid granting CAP_SYS_ADMIN/CAP_CHECKPOINT_RESTORE in untrusted containers), accepting reduced container flexibility, and monitor/limit access to /proc/sysvipc. Confirm exact fixed package versions via your distribution advisory before deploying.

CVE-2024-24919 HIGH POC
8.6 May 28

Potentially allowing an attacker to read certain information on Check Point Security Gateways once connected to the inte

CVE-2017-1000083 HIGH POC
7.8 Sep 05

backend/comics/comics-document.c (aka the comic book backend) in GNOME Evince before 3.24.1 allows remote attackers to e

CVE-2026-16232 CRITICAL POC
9.3 Jul 22

Authentication bypass in the Check Point SmartConsole login process lets an unauthenticated remote attacker mint a valid

CVE-2024-3568 CRITICAL POC
9.6 Apr 10

The huggingface/transformers library is vulnerable to arbitrary code execution through deserialization of untrusted data

CVE-2026-24747 HIGH POC
8.8 Jan 27

PyTorch is a Python package that provides tensor computation. [CVSS 8.8 HIGH]

CVE-2022-41604 HIGH POC
8.8 Sep 27

Check Point ZoneAlarm Extreme Security before 15.8.211.19229 allows local users to escalate privileges. Rated high sever

CVE-2026-58659 HIGH POC
8.4 Jul 15

Remote code execution in PyTorch Lightning through 2.6.5 allows an attacker who can get a victim to load a malicious che

CVE-2019-8461 HIGH POC
7.8 Aug 29

Check Point Endpoint Security Initial Client for Windows before version E81.30 tries to load a DLL placed in any PATH lo

CVE-2019-8452 HIGH POC
7.8 Apr 22

A hard-link created from log file archive of Check Point ZoneAlarm up to 15.4.062 or Check Point Endpoint Security clien

CVE-2026-69112 MEDIUM POC
6.9 Aug 10

Path traversal in Hugging Face Accelerate through 1.14.0 exposes two distinct attack outcomes when a user loads a crafte

CVE-2026-68447 HIGH
7.1 Aug 12

Out-of-bounds read in the Linux kernel drm/amdkfd CRIU checkpoint path leaks kernel memory to userspace on systems with

CVE-2013-7350 CRITICAL
10.0 Apr 01

Multiple unspecified vulnerabilities in Check Point Security Gateway 80 R71.x before R71.45 (730159141) and R75.20.x bef

Vendor StatusVendor

SUSE

Severity: Important
Product Status
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.168 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.149 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.197 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.145 Affected
Container suse/sle-micro-rancher/5.3:latest Container suse/sle-micro-rancher/5.4:5.4.4.5.149 Affected
Container suse/sle-micro/base-5.5:2.0.4-5.8.296 Affected
Container suse/sle-micro/kvm-5.5:2.0.4-3.5.570 Affected

Share

CVE-2026-52923 vulnerability details – vuln.today

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