KernelScan.io

HIGH Introduced in 6.6

ceph SparseExtent Panic

CVE-2026-89657

CVSS 7.5 / 10.0 NVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

KernelScan AI6.5MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: libceph: validate OSD extent maps before cursor advance net/ceph/osd_client.c:osd_sparse_read() validates that the sparse-read data length matches the summed extent lengths, but it does not validate that each OSD-supplied extent is monotonic and lies inside the original request range. A malformed authenticated OSD reply can advertise a far-forward nonzero extent offset with a matching data length and make the client advance the message-data cursor beyond the request buffer. This reaches the BUG_ON(!*length) assertion in ceph_msg_data_next() from the client receive path. Impact: A malicious or compromised authenticated Ceph OSD peer can crash a kernel Ceph client via a malformed sparse-read reply. Reject sparse extent maps that overflow, move backwards, overlap, or extend outside the original sparse-read request before advancing the cursor. [ idryomov: perform sparse_extent_map_valid() check a bit earlier, in CEPH_SPARSE_READ_DATA_LEN instead of CEPH_SPARSE_READ_DATA_PRE state ]

02

Engine v0.6.0

Risk summary

A malicious or compromised authenticated Ceph OSD can send a malformed sparse-read reply that crashes any kernel Ceph client connected to it. The bug is in the client-side reply processing path and requires no special privileges on the client beyond having a Ceph mount active. Any system mounting Ceph filesystems is at risk if an OSD peer is compromised or rogue.

Affectednet/ceph/osd_client.c (libceph OSD client)

Vulnerability analysis

The kernel Ceph client processes sparse-read replies from OSD peers without checking that the extent offsets in the reply are monotonic, non-overlapping, and within the original request range. A malformed reply with a far-forward extent offset causes the client to advance its receive cursor past the end of the request buffer, triggering an assertion that panics the kernel. The fix adds a validation step that rejects any extent map whose extents overflow, move backwards, overlap, or extend outside the original sparse-read request before the cursor is advanced. The attack is reachable from the network by any authenticated OSD peer in the Ceph cluster; the client side requires only an active Ceph mount, with no elevated local privileges.

03

BranchIntroducedFixed inPatch commit
6.66.66.6.15794ae5145c520
6.126.66.12.109058ffa81f944
6.186.66.18.502571b3588326
7.26.67.2.4201db408872c
mainline6.67.3-rc19ec08b7499a6
cip/6.126.66.12.111-cip32058ffa81f944