CVE-2026-23189
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
14/02/2026
Last modified:
14/02/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ceph: fix NULL pointer dereference in ceph_mds_auth_match()<br />
<br />
The CephFS kernel client has regression starting from 6.18-rc1.<br />
We have issue in ceph_mds_auth_match() if fs_name == NULL:<br />
<br />
const char fs_name = mdsc->fsc->mount_options->mds_namespace;<br />
...<br />
if (auth->match.fs_name && strcmp(auth->match.fs_name, fs_name)) {<br />
/ fsname mismatch, try next one */<br />
return 0;<br />
}<br />
<br />
Patrick Donnelly suggested that: In summary, we should definitely start<br />
decoding `fs_name` from the MDSMap and do strict authorizations checks<br />
against it. Note that the `-o mds_namespace=foo` should only be used for<br />
selecting the file system to mount and nothing else. It&#39;s possible<br />
no mds_namespace is specified but the kernel will mount the only<br />
file system that exists which may have name "foo".<br />
<br />
This patch reworks ceph_mdsmap_decode() and namespace_equals() with<br />
the goal of supporting the suggested concept. Now struct ceph_mdsmap<br />
contains m_fs_name field that receives copy of extracted FS name<br />
by ceph_extract_encoded_string(). For the case of "old" CephFS file<br />
systems, it is used "cephfs" name.<br />
<br />
[ idryomov: replace redundant %*pE with %s in ceph_mdsmap_decode(),<br />
get rid of a series of strlen() calls in ceph_namespace_match(),<br />
drop changes to namespace_equals() body to avoid treating empty<br />
mds_namespace as equal, drop changes to ceph_mdsc_handle_fsmap()<br />
as namespace_equals() isn&#39;t an equivalent substitution there ]



