Skip to content
Heist/ feed
High

ksmbd: prevent path traversal bypass by restricting caseless retry

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: ksmbd: prevent path traversal bypass by restricting caseless retry ksmbd_vfs_path_lookup() enforces LOOKUP_BENEATH to restrict path resolution within the share root. When a crafted path attempts to escape the share boundary using parent-directory components ('..'), vfs_path_parent_lookup() detects this and immediately fails, returning -EXDEV. However, a bug exists in __ksmbd_vfs_kern_path() under caseless mode. The function fails to intercept the -EXDEV error and erroneously falls through to the caseless retry logic, which is intended only for genuinely missing files. During this retry process, the path is reconstructed, leading to an unintended LOOKUP_BENEATH bypass that allows write-capable users to create zero-length files or directories outside the exported share. Fix this by ensuring that the execution only proceeds to the caseless lookup retry when the error is specifically -ENOENT. Any other errors, such as -EXDEV from a path traversal attempt, must be returned immediately.

Announced Source revision 1
Original source ↗

CVE-2026-64400

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-64400

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": "74d7970febf7e9005375aeda0df821d2edffc9f7",
        "lessThan": "eec1dd2586c4016b7555a5d047db2b3756459fb2",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "74d7970febf7e9005375aeda0df821d2edffc9f7",
        "lessThan": "a1c331d98313380c38f616c8b28b890ec8ef9c28",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "74d7970febf7e9005375aeda0df821d2edffc9f7",
        "lessThan": "cfb5a56c218888f9d74165dff0c282cd0be97983",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "74d7970febf7e9005375aeda0df821d2edffc9f7",
        "lessThan": "8c9a4f1327eb71efbf14842e7b8a6d965077eb67",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "74d7970febf7e9005375aeda0df821d2edffc9f7",
        "lessThan": "54bab9ba5a9f156ffa9324fcbe5a356fd0242f95",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "019aae488dbc67c97a33db03652e20e2c9e3afa7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6927ffe7479c72e7ebf885507227266a75f7c97d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "ef6cc1c465786b3e4e735d1ab8b616b3e94402df",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5.15.145",
        "lessThan": "5.16",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.1.71",
        "lessThan": "6.2",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.3.10",
        "lessThan": "6.4",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "fs/smb/server/vfs.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.4"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.4",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.6.160",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.114",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.57",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.1.4",
        "versionType": "semver",
        "lessThanOrEqual": "7.1.*"
      },
      {
        "status": "unaffected",
        "version": "7.2",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "fs/smb/server/vfs.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-64400

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#46438 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement