GPU VulnDB

Database/Control plane, storage & DevOps

Linux CephFS client: unchecked final xattr value length leaks kernel heap via getxattr(2)

UnscoredCVE-2026-89649Control plane, storage & DevOpscurated

Impact

A malicious or compromised Ceph MDS can set the last xattr's value length larger than the bytes actually present in the decoded blob. __set_xattr() stores the oversized length verbatim, and a later getxattr(2) memcpy's past the end of the kvmalloc allocation into a user-supplied buffer, disclosing adjacent kernel heap bytes to any local user on the client. On a GPU node that mounts CephFS for datasets or checkpoints, that is a kernel memory disclosure reachable by any tenant process that can stat a file on the share - useful for defeating KASLR or lifting neighbouring data. The precondition is a hostile or compromised metadata server, so the blast radius is the whole set of clients mounting that filesystem.

Who can reach it

A malicious or compromised Ceph MDS (or an on-path attacker on an unsigned, unencrypted messenger session) supplies the crafted xattr blob; any local unprivileged user on the client then calls getxattr(2) on a CephFS file to receive the leaked bytes. No authentication beyond being an ordinary local user on the mounting node.

What to do

Patch the host kernel to a stable release containing the added ceph_decode_need() check in __build_xattrs() (commits linked below) and reboot each node that mounts CephFS; the ceph module is in use by a live mount, so this is a drain-and-reboot, not a live module reload. Until then, the practical mitigation is ensuring only trusted MDS daemons are reachable and that messenger sessions are authenticated and encrypted (msgr2 secure mode). No vendor-assigned fixed version string is in the record beyond the stable commits.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.