CVE-2026-23136

Summary

In the Linux kernel, the following vulnerability has been resolved:

libceph: reset sparse-read state in osd_fault()

When a fault occurs, the connection is abandoned, reestablished, and any pending operations are retried. The OSD client tracks the progress of a sparse-read reply using a separate state machine, largely independent of the messenger's state.

If a connection is lost mid-payload or the sparse-read state machine returns an error, the sparse-read state is not reset. The OSD client will then interpret the beginning of a new reply as the continuation of the old one. If this makes the sparse-read machinery enter a failure state, it may never recover, producing loops like:

libceph: [0] got 0 extents libceph: data len 142248331 != extent len 0 libceph: osd0 (1)…:6801 socket error on read libceph: data len 142248331 != extent len 0 libceph: osd0 (1)…:6801 socket error on read

Therefore, reset the sparse-read state in osd_fault(), ensuring retries start from a clean state.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf628d799972799023d32c2542bb2639eb8c4f84e < 90a60fe61908afa0eaf7f8fcf1421b9b50e5f7ffaffected
LinuxLinuxf628d799972799023d32c2542bb2639eb8c4f84e < e94075e950a6598e710b9f7dffea5aa388f40313affected
LinuxLinuxf628d799972799023d32c2542bb2639eb8c4f84e < 10b7c72810364226f7b27916ea3e2a4f870bc04baffected
LinuxLinuxf628d799972799023d32c2542bb2639eb8c4f84e < 11194b416ef95012c2cfe5f546d71af07b639e93affected
LinuxLinux6.6affected
LinuxLinux0 < 6.6unaffected
LinuxLinux6.6.121 <= 6.6.*unaffected
LinuxLinux6.12.66 <= 6.12.*unaffected
LinuxLinux6.18.6 <= 6.18.*unaffected
LinuxLinux6.19 <= *unaffected

Weaknesses

References