CRITICAL Introduced in 5.15
ceph MdsMap OOB
CVE-2026-89653
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI9.8CRITICAL
01Description
In the Linux kernel, the following vulnerability has been resolved: ceph: reject export_targets ranks >= CEPH_MAX_MDS in mdsmap decode MDSMap export_targets entries are monitor controlled. check_new_map() uses each entry as a bit number in a fixed stack bitmap, so a rank outside the protocol namespace can make set_bit() write past the end of the array. Reject ranks outside CEPH_MAX_MDS while decoding the map. Do not validate against possible_max_rank here because maps may legitimately reference ranks beyond a temporarily reduced max_mds.
02KernelScan AI Analysis
Risk summary
A malicious Ceph monitor can send an MDSMap with export_targets ranks exceeding the maximum allowed value, causing the kernel client to write past the end of a fixed-size stack bitmap. This can corrupt kernel memory and lead to privilege escalation or denial of service. Any system mounting a Ceph filesystem and connected to a compromised or malicious monitor is affected.
Vulnerability analysis
When the Ceph filesystem client decodes an MDSMap from the monitor, it reads export_targets entries and later uses them as bit positions in a fixed-size stack bitmap. A malicious monitor can supply a rank value larger than the protocol maximum, causing a bit-set operation to write past the end of that bitmap and corrupt adjacent kernel stack or heap memory. The fix adds a bounds check during map decoding that rejects any export_targets rank at or above the maximum allowed value, returning an error before the value is stored. The attack surface is a Ceph monitor-to-client path: any system mounting a Ceph filesystem can be triggered by a compromised or malicious monitor, requiring no local privileges on the client.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.15 | 5.15 | 5.15.221 | 3740c88ca9cb |
| 6.1 | 5.15 | 6.1.188 | 8c823bbab3c2 |
| 6.12 | 5.15 | 6.12.109 | 736adee11af3 |
| 6.18 | 5.15 | 6.18.50 | 4d298880f82c |
| 6.6 | 5.15 | 6.6.157 | c4addccd05ba |
| 7.2 | 5.15 | 7.2.4 | 96c3f5fbb0d5 |
| mainline | 5.15 | 7.3 | aedc9053d909 |
| cip/6.1 | 5.15 | 6.1.189-cip61 | 8c823bbab3c2 |
| cip/6.1-rt | 5.15 | 6.1.189-cip61-rt32 | 8c823bbab3c2 |
| cip/6.12 | 5.15 | 6.12.111-cip32 | 736adee11af3 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.111-cip32 |
| cip/6.1 | Fixed in 6.1.189-cip61 |
| cip/6.1-rt | Fixed in 6.1.189-cip61-rt32 |