UBUNTU-CVE-2026-89657: High severity ubuntu/linux-hwe-edge vulnerability
In the Linux kernel, the following vulnerability has been resolved: libceph: validate OSD extent maps before cursor advance net/ceph/osdclient.c:osdsparseread() 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 BUGON(!length) assertion in cephmsgdatanext() 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 sparseextentmapvalid() check a bit earlier, in CEPHSPARSEREADDATALEN instead of CEPHSPARSEREADDATAPRE state ]
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In libceph osd_sparse_read(), validate OSD sparse extent maps before advancing the message-data cursor; reject maps that overflow, move backwards, overlap, or extend outside the original sparse-read request, and ensure the summed extent lengths match the sparse-read data length.