CVE-2026-89990
largeUse-after-free in Linux kernel CephFS client (ceph_mds_check_access)
CVE-2026-89990 is a use-after-free in the Linux kernel's Ceph filesystem (CephFS) client: ceph_mds_check_access() walks the mdsc->s_cap_auths array without holding mdsc->mutex, while MDS session OPEN handling can replace that array and free the old array and its strings under the same mutex. The flaw is triggered when an MDS session is reopened concurrently with a process opening files on a CephFS mount; the fix commit's crash trace shows a php-cgi process faulting in ceph_atomic_open via path_openat after the array was freed beneath it. The demonstrated impact is a kernel oops (denial of service), and as a kernel-space use-after-free it may be exploitable further, consistent with the critical 9.8 CVSS score. Any Linux host mounting CephFS with a kernel containing the vulnerable access-check code is affected. No public proof-of-concept or confirmed malicious exploitation is known and the flaw is not in CISA KEV; it is fixed by a mainline kernel commit pending vendor backports.
What to do: Patch kernels on hosts that mount CephFS (verify with 'mount -t ceph') as soon as a fixed mainline kernel or vendor backport is available, prioritizing multi-user systems such as web servers running php-cgi where local processes can race session reopens. Until patched, restrict untrusted local access to CephFS-mounted hosts or unmount CephFS, and be aware that MDS failover/session-reopen events can trigger the race.
| Linux kernel Ceph filesystem client (ceph/CephFS) | Version range not specified in the advisory; affects kernels containing the s_cap_auths-based ceph_mds_check_access() path (crash observed on a 6.18.45-i2-amper |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the Linux kernel, the following vulnerability has been resolved: ceph: lock mutex in ceph_mds_check_access() MDS session OPEN handling replaces mdsc->s_cap_auths under mdsc->mutex, freeing the previous array and its strings. ceph_mds_check_access() traverses this array without holding the mutex. A concurrent session reopen can therefore free the array while it is being inspected, resulting in a use-after-free like this: Unable to handle kernel paging request at virtual address 003aaad64b2c8bb9 [...] Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 56 UID: 2953037534 PID: 1253231 Comm: php-cgi8.4 Not tainted 6.18.45-i2-ampere #1146 NONE [..] pc : ceph_mds_check_access+0xd4/0x550 lr : ceph_mds_check_access+0xc8/0x550 [...] Call trace: ceph_mds_check_access+0xd4/0x550 (P) ceph_atomic_open+0x138/0xbe8 path_openat+0xa24/0xfa8 do_filp_open+0x94/0x158 do_sys_openat2+0x88/0xf8
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.