CVE-2024-53066: nfs: Fix KMSAN warning in decode_getfattr_attrs()
In the Linux kernel, the following vulnerability has been resolved:
nfs: Fix KMSAN warning in decode_getfattr_attrs()
Fix the following KMSAN warning:
CPU: 1 UID: 0 PID: 7651 Comm: cp Tainted: G B
Tainted: [B]=BAD_PAGE
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)
=====================================================
=====================================================
BUG: KMSAN: uninit-value in decode_getfattr_attrs+0x2d6d/0x2f90
decode_getfattr_attrs+0x2d6d/0x2f90
decode_getfattr_generic+0x806/0xb00
nfs4_xdr_dec_getattr+0x1de/0x240
rpcauth_unwrap_resp_decode+0xab/0x100
rpcauth_unwrap_resp+0x95/0xc0
call_decode+0x4ff/0xb50
__rpc_execute+0x57b/0x19d0
rpc_execute+0x368/0x5e0
rpc_run_task+0xcfe/0xee0
nfs4_proc_getattr+0x5b5/0x990
__nfs_revalidate_inode+0x477/0xd00
nfs_access_get_cached+0x1021/0x1cc0
nfs_do_access+0x9f/0xae0
nfs_permission+0x1e4/0x8c0
inode_permission+0x356/0x6c0
link_path_walk+0x958/0x1330
path_lookupat+0xce/0x6b0
filename_lookup+0x23e/0x770
vfs_statx+0xe7/0x970
vfs_fstatat+0x1f2/0x2c0
__se_sys_newfstatat+0x67/0x880
__x64_sys_newfstatat+0xbd/0x120
x64_sys_call+0x1826/0x3cf0
do_syscall_64+0xd0/0x1b0
entry_SYSCALL_64_after_hwframe+0x77/0x7f
The KMSAN warning is triggered in decode_getfattr_attrs(), when calling
decode_attr_mdsthreshold(). It appears that fattr->mdsthreshold is not
initialized.
Fix the issue by initializing fattr->mdsthreshold to NULL in
nfs_fattr_init().
Security readout for executives and security teams
Plain-English summary
Linux systems using NFS may process an uninitialized value while decoding file attributes. The supplied record rates this critical at CVSS 9.8, but the public evidence documents a sanitizer warning rather than demonstrated compromise. The kernel fix initializes the affected field to NULL.
Executive priority
Promptly assess and patch NFS-using Linux systems under normal critical-kernel-update procedures. The 9.8 rating warrants accelerated triage, but there is no cited active exploitation and the demonstrated behavior is a sanitizer warning. Avoid treating the score alone as proof of imminent remote compromise.
Technical view
The NFS client function decode_getfattr_attrs() can pass an uninitialized fattr->mdsthreshold field into decode_attr_mdsthreshold(). KMSAN detected the condition during NFSv4 attribute processing. The upstream correction initializes mdsthreshold to NULL in nfs_fattr_init(). The sources do not establish a reliable code-execution or data-corruption primitive.
Likely exposure
Potential exposure is limited to Linux systems running affected kernel builds and exercising NFS client attribute decoding. The supplied version data lacks clear affected and fixed ranges, while distributions may backport fixes. Determine status from vendor kernel advisories and fix-commit mappings rather than version numbers alone.
Exploitation context
The bundle marks this CVE as absent from KEV and cites no active exploitation or public proof of concept. The CVSS vector describes network reachability without privileges or user interaction, but available technical evidence only demonstrates an uninitialized-value warning. Practical impact remains insufficiently established.
Researcher notes
The trace reaches decode_getfattr_attrs() through NFSv4 GETATTR, inode revalidation, access checking, and stat-related paths. The stated defect is missing initialization of mdsthreshold, corrected by assigning NULL. Exact version boundaries are ambiguous in the supplied record, and no cited evidence demonstrates attacker-controlled corruption, information disclosure, or execution.
Mitigation direction
Apply a distribution kernel update incorporating the applicable upstream stable fix.
Use vendor advisories to determine fixed package versions and backport status.
Prioritize systems using NFS, particularly those communicating with less-trusted NFS services.
Reboot updated systems so the corrected kernel is actively running.
Validation and detection
Inventory active kernel builds and identify systems configured as NFS clients.
Map each vendor kernel build to the applicable listed stable fix commit.
Confirm the running kernel initializes fattr->mdsthreshold to NULL in nfs_fattr_init().
Review kernel or sanitizer logs for decode_getfattr_attrs warnings; their absence does not prove safety.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-908: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-908 · source CWE mapping
Use of Uninitialized Resource
Use of Uninitialized Resource represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.