{"id":"CVE-2026-89711","summary":"NFSD: remove flawed WARN_ON_ONCE from nfsd_mode_check","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nNFSD: remove flawed WARN_ON_ONCE from nfsd_mode_check\n\nThe header for commit e75b23f9e323 (\"nfsd: check d_can_lookup in\nfh_verify of directories\") details the assumption that justified\nadding the WARN_ON_ONCE to nfsd_mode_check(), that assumption is\ninvalid (in the case of NFS reexport).\n\nWhen NFSD exports an NFS filesystem it is very possible for\nnfsd_mode_check() to encounter a @dentry that doesn't have\ni_op-\u003elookup (see nfs_fhget()'s NFS_ATTR_FATTR_MOUNTPOINT and\nNFS_ATTR_FATTR_V4_REFERRAL handling, and d_flags_for_inode()).\n\nSo remove nfsd_mode_check()'s WARN_ON_ONCE(). The nfserr_notdir\nreturn on that branch must stay. It guards the subsequent\nlookup_one_unlocked() -\u003e __lookup_slow() path, which calls\ninode-\u003ei_op-\u003elookup() with no NULL check, so returning nfserr_notdir\nis what keeps a client LOOKUP into such a @dentry from dereferencing\na NULL method pointer.","modified":"2026-09-13T03:47:20.542834957Z","published":"2026-09-11T19:46:26.269Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89711.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/7ef182a8fe9c12b0d936880b1e504840639aa009"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a275de3bac5635514ca830f2e46b5ff0e66b5c4c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/aa0cf48a448c5a9fe1a1e880899ecd589ce39e6e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b55b4d880bb080fa10eb08ba21a5d8679b8102fe"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89711.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89711"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"e75b23f9e323b1e0759619c39d5a9f7a3a5d9d2c"},{"fixed":"b55b4d880bb080fa10eb08ba21a5d8679b8102fe"},{"fixed":"7ef182a8fe9c12b0d936880b1e504840639aa009"},{"fixed":"a275de3bac5635514ca830f2e46b5ff0e66b5c4c"},{"fixed":"aa0cf48a448c5a9fe1a1e880899ecd589ce39e6e"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89711.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.8.0"},{"fixed":"6.12.109"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89711.json"}}],"schema_version":"1.9.0"}