smb: client: fix krb5 mount with username option
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix krb5 mount with username option Customer reported that some of their krb5 mounts were failing against a single server as the client was trying to mount the shares with wrong credentials. It turned out the client was reusing SMB session from first mount to try mounting the other shares, even though a different username= option had been specified to the other mounts. By using username mount option along with sec=krb5 to search for principals from keytab is supported by cifs.upcall(8) since cifs-utils-4.8. So fix this by matching username mount option in match_session() even with Kerberos. For example, the second mount below should fail with -ENOKEY as there is no 'foobar' principal in keytab (/etc/krb5.keytab). The client ends up reusing SMB session from first mount to perform the second one, which is wrong. ``` $ ktutil ktutil: add_entry -password -p testuser -k 1 -e aes256-cts Password for testuser@ZELDA.TEST: ktutil: write_kt /etc/krb5.keytab ktutil: quit $ klist -ke Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- ---------------------------------------------------------------- 1 testuser@ZELDA.TEST (aes256-cts-hmac-sha1-96) $ mount.cifs //w22-root2/scratch /mnt/1 -o sec=krb5,username=testuser $ mount.cifs //w22-root2/scratch /mnt/2 -o sec=krb5,username=foobar $ mount -t cifs | grep -Po 'username=\K\w+' testuser testuser ```
CVE-2026-31392
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-31392
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
"lessThan": "fd4547830720647d4af02ee50f883c4b1cca06e4",
"versionType": "git"
},
{
"status": "affected",
"version": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
"lessThan": "9229709ec8bf85ae7ca53aeee9aa14814cdc1bd2",
"versionType": "git"
},
{
"status": "affected",
"version": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
"lessThan": "d33cbf0bf8979d779900da9be2505d68d9d8da25",
"versionType": "git"
},
{
"status": "affected",
"version": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
"lessThan": "9ee803bfdba0cf739038dbdabdd4c02582c8f2b2",
"versionType": "git"
},
{
"status": "affected",
"version": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
"lessThan": "6e9ff1eb7feedcf46ff2d0503759960ab58e7775",
"versionType": "git"
},
{
"status": "affected",
"version": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
"lessThan": "12b4c5d98cd7ca46d5035a57bcd995df614c14e1",
"versionType": "git"
},
{
"status": "affected",
"version": "223c7f082d2836ac719b3b228bdcfab35e5e5330",
"versionType": "git"
},
{
"status": "affected",
"version": "88720224330a655ab6268e20109b65b11cfd7f6a",
"versionType": "git"
},
{
"status": "affected",
"version": "2.6.32.44",
"lessThan": "2.6.33",
"versionType": "semver"
},
{
"status": "affected",
"version": "2.6.34.12",
"lessThan": "2.6.35",
"versionType": "semver"
}
],
"programFiles": [
"fs/smb/client/connect.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.36"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.36",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.1.167",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.130",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.78",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.20",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "6.19.10",
"versionType": "semver",
"lessThanOrEqual": "6.19.*"
},
{
"status": "unaffected",
"version": "7.0",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/smb/client/connect.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-31392
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #39864 · Revision 1
- Added to Heist Feed
- Publisher date