{"id":"CVE-2026-90132","state":"PUBLISHED","title":"ntfs: reject unprivileged writes to reserved $LX* xattrs","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nntfs: reject unprivileged writes to reserved $LX* xattrs\n\nReject setxattr of the reserved $LXUID, $LXGID, $LXMOD and $LXDEV names\nfrom userspace unless the caller has CAP_SYS_ADMIN.","publishedAt":"2026-09-17T16:06:32.576Z","updatedAt":"2026-10-19T08:58:30.496Z","severity":{"score":7.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"fc053f05ca282a5e760b41f6560ac835c4e28037","status":"affected","lessThan":"86f46508016bc1f2bffb3a52dc2664f942fb9802","versionType":"git"},{"version":"fc053f05ca282a5e760b41f6560ac835c4e28037","status":"affected","lessThan":"ea6a67ef64451d2da298f15baa35865b4bb6372a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/ea.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.1","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/ea.c"]}],"references":["https://git.kernel.org/stable/c/86f46508016bc1f2bffb3a52dc2664f942fb9802","https://git.kernel.org/stable/c/ea6a67ef64451d2da298f15baa35865b4bb6372a"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90132.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90132","state":"PUBLISHED","datePublished":"2026-09-17T16:06:32.576Z","dateUpdated":"2026-10-19T08:58:30.496Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.788Z"},"containers":{"cna":{"title":"ntfs: reject unprivileged writes to reserved $LX* xattrs","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nntfs: reject unprivileged writes to reserved $LX* xattrs\n\nReject setxattr of the reserved $LXUID, $LXGID, $LXMOD and $LXDEV names\nfrom userspace unless the caller has CAP_SYS_ADMIN."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"fc053f05ca282a5e760b41f6560ac835c4e28037","status":"affected","lessThan":"86f46508016bc1f2bffb3a52dc2664f942fb9802","versionType":"git"},{"version":"fc053f05ca282a5e760b41f6560ac835c4e28037","status":"affected","lessThan":"ea6a67ef64451d2da298f15baa35865b4bb6372a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/ea.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.1","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/ea.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/86f46508016bc1f2bffb3a52dc2664f942fb9802"},{"url":"https://git.kernel.org/stable/c/ea6a67ef64451d2da298f15baa35865b4bb6372a"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The attacker-controlled $LXUID/$LXGID/$LXMOD/$LXDEV name and 4-byte value enter via setxattr/fsetxattr/lsetxattr into ntfs_setxattr(); ksmbd SMB2 SET_INFO and nfsd4_decode_xattr_name both prefix user., so those paths cannot store the unprefixed EAs that ntfs_ea_get_wsl_inode() loads.\nAC:L - ntfs_setxattr() persists the EAs through ntfs_set_ea() without changing live i_uid/i_mode; the attacker then drops refs and forces icache reclaim so ntfs_read_locked_inode() runs ntfs_ea_get_wsl_inode() and applies the planted uid and S_ISUID mode. No uninfluenced race is required.\nPR:L - xattr_permission() only requires inode_permission(MAY_WRITE) for these unprefixed names, and pre-fix ntfs_setxattr() had no capable() check. Default ntfs mounts leave vol->uid INVALID_UID (so $LXUID is applied) and files mode 0777, so any unprivileged writer can set the EAs.\nUI:N - The attacker issues setxattr on a file they can already write on an ntfs volume that is already mounted; no other user must insert media, mount an image, or open the planted file.\nS:U - ntfs_ea_get_wsl_inode() copies planted $LXUID/$LXMOD into the host inode's i_uid and i_mode. That is local privilege escalation inside the same kernel authority, not a VM, IOMMU, or sandbox escape.\nC:H - On reload, ntfs_ea_get_wsl_inode() does i_uid_write() from $LXUID and assigns inode->i_mode from $LXMOD; planting uid 0 and S_ISUID on an executable the attacker wrote yields euid 0 and full disclosure of host files.\nI:H - The same $LXUID/$LXMOD plant lets the attacker execute their own binary as root after ntfs_read_locked_inode() reloads the inode, giving unrestricted modification of host data. The bug is an unauthorized write of kernel-trusted WSL permission EAs.\nA:N - ntfs_set_ea() of $LXUID/$LXGID/$LXMOD/$LXDEV only stores NTFS extended attributes, and ntfs_ea_get_wsl_inode() only assigns i_uid, i_gid, i_mode, and rdev. That path has no kernel crash, hang, UAF, or BUG_ON."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:58:30.496Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}