CVE-2026-89638
Received Received - Intake

Privilege Escalation via Persistent setuid/setgid in Linux Kernel SMB Client

Vulnerability report for CVE-2026-89638, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-11

Last updated on: 2026-09-11

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: smb: client: clear setuid/setgid bit on write with cifsacl/modefromsid/posix extensions When a file has the setuid or setgid bit set and is written to, the VFS strips those bits and issues a setattr with ATTR_KILL_SUID/ATTR_KILL_SGID together with an ATTR_MODE carrying the already-cleared mode. Both cifs_setattr_unix() and cifs_setattr_nounix() unconditionally dropped ATTR_MODE in that case: /* skip mode change if it's just for clearing setuid/setgid */ if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID)) attrs->ia_valid &= ~ATTR_MODE; This is fine for the default mount, where the mode is only emulated via the DOS read-only attribute and cannot represent the setuid/setgid bits anyway. However, with the "cifsacl" or "modefromsid" mount options the mode is stored on the server through an ACL (id_mode_to_cifs_acl()), with the SMB3.1.1 POSIX extensions the mode is sent to the server directly, and with the SMB1 Unix extensions (cifs_setattr_unix) the mode is sent via CIFSSMBUnixSetPathInfo(). In all those cases dropping ATTR_MODE means the cleared mode is never pushed to the server, so the setuid/setgid bit survives the write. This is a security issue: on local filesystems the setuid bit is stripped when a file is written, but over these cifs.ko mounts the bit persists on the server, potentially allowing an unexpected privilege escalation on subsequent execution. Fix this in two places: 1. cifs_setattr_nounix(): only take the "skip mode change" shortcut when the mode is emulated via the DOS read-only attribute (i.e. neither cifsacl/modefromsid nor the SMB3.1.1 POSIX extensions are in effect), so that the cleared mode is propagated to the server in the ACL / POSIX cases. 2. cifs_setattr_unix(): this function is only called when Unix extensions are in effect, so the mode is always stored on the server. Remove the shortcut entirely so that the cleared mode is always pushed.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-11
Last Modified
2026-09-11
Generated
2026-09-12
AI Q&A
2026-09-12
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves improper handling of setuid/setgid bits when writing to files over CIFS (Common Internet File System) mounts. Normally, local filesystems strip these bits during writes, but with certain mount options like cifsacl, modefromsid, or POSIX extensions, the bits persist on the server. This can lead to unexpected privilege escalation if an attacker exploits the retained setuid/setgid bits.

Detection Guidance

This vulnerability affects systems using CIFS/SMB mounts with specific options like cifsacl, modefromsid, or POSIX extensions. To detect it, check if any mounted shares use these options by running: mount | grep cifs. Also inspect files with setuid/setgid bits on CIFS mounts to see if they persist after modification.

Impact Analysis

If you use CIFS mounts with specific options (cifsacl, modefromsid, or POSIX extensions), files written to these mounts may retain their setuid/setgid bits. This could allow unauthorized privilege escalation if an attacker gains access to execute a file with elevated permissions, potentially compromising system security.

Mitigation Strategies

Apply the Linux kernel patch that resolves this issue. If patching is not immediately possible, avoid using cifsacl, modefromsid, or POSIX extensions on CIFS mounts. Alternatively, disable setuid/setgid bits on sensitive files stored on CIFS shares until the fix is applied.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-89638. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart