CVE-2026-64140 (GCVE-0-2026-64140)

Vulnerability from cvelistv5 – Published: 2026-07-19 15:40 – Updated: 2026-08-05 12:39
VLAI
Title
ksmbd: fix null pointer dereference in proc_show_files()
Summary
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null pointer dereference in proc_show_files() When a SMB2 client opens a file with a durable v2 handle and then issues SMB2 SESSION_LOGOFF, session_fd_check() clears fp->tcon = NULL on the reconnectable file pointer but leaves the fp registered in global_ft.idr until the durable scavenger fires (up to fp->durable_timeout seconds later). During that window any read of /proc/fs/ksmbd/files (mode 0400) panics the kernel because proc_show_files() walks global_ft.idr and unconditionally dereferences fp->tcon->id with no NULL guard. Reproducer requires only a successful SMB2 SESSION_SETUP and a share configured with 'durable handles = yes'. KASAN report on mainline 70390501d194: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:proc_show_files+0x118/0x740 Call Trace: proc_show_files+0x118/0x740 seq_read_iter+0x4ef/0xe10 proc_reg_read_iter+0x1b7/0x280 ... Guard the dereference. A durable-disconnected fp legitimately has no tcon; report its tree id as 0 rather than oopsing.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b38f99c1217ae04753340f0fdcd8f35bf56841dc , < 8eab081627b67216d1c8f638b68289b500dc9a6b (git)
Affected: b38f99c1217ae04753340f0fdcd8f35bf56841dc , < 904901561e61a2b559070b20c74a8c95491f30aa (git)
guessed Create a notification for this product.
Linux Linux Affected: 7.0
Unaffected: 0 , < 7.0 (semver)
Unaffected: 7.0.11 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/server/vfs_cache.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8eab081627b67216d1c8f638b68289b500dc9a6b",
              "status": "affected",
              "version": "b38f99c1217ae04753340f0fdcd8f35bf56841dc",
              "versionType": "git"
            },
            {
              "lessThan": "904901561e61a2b559070b20c74a8c95491f30aa",
              "status": "affected",
              "version": "b38f99c1217ae04753340f0fdcd8f35bf56841dc",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/server/vfs_cache.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.0"
            },
            {
              "lessThan": "7.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: fix null pointer dereference in proc_show_files()\n\nWhen a SMB2 client opens a file with a durable v2 handle and then issues\nSMB2 SESSION_LOGOFF, session_fd_check() clears fp-\u003etcon = NULL on the\nreconnectable file pointer but leaves the fp registered in global_ft.idr\nuntil the durable scavenger fires (up to fp-\u003edurable_timeout seconds\nlater).\n\nDuring that window any read of /proc/fs/ksmbd/files (mode 0400) panics\nthe kernel because proc_show_files() walks global_ft.idr and\nunconditionally dereferences fp-\u003etcon-\u003eid with no NULL guard.\n\nReproducer requires only a successful SMB2 SESSION_SETUP and a share\nconfigured with \u0027durable handles = yes\u0027. KASAN report on mainline\n70390501d194:\n\n  general protection fault, probably for non-canonical address\n  0xdffffc0000000000: 0000 [#1] SMP KASAN PTI\n  KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]\n  RIP: 0010:proc_show_files+0x118/0x740\n  Call Trace:\n   proc_show_files+0x118/0x740\n   seq_read_iter+0x4ef/0xe10\n   proc_reg_read_iter+0x1b7/0x280\n   ...\n\nGuard the dereference. A durable-disconnected fp legitimately has no\ntcon; report its tree id as 0 rather than oopsing."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The poisoned durable-handle state is created remotely over ksmbd\u0027s TCP/445 SMB2 path (SESSION_SETUP, TREE_CONNECT, CREATE with durable v2, SESSION_LOGOFF); ksmbd is a network-facing in-kernel SMB server per kernel CVSS guidance.\nAC:L - An attacker fully controls the SMB2 sequence that leaves `fp-\u003etcon = NULL` while the file remains in `global_ft.idr`; once that state exists, any read of `/proc/fs/ksmbd/files` deterministically oopses, and the window lasts up to `fp-\u003edurable_timeout` seconds (repeatable).\nPR:N - Exploitation requires only network reachability to ksmbd plus a successful SMB2 SESSION_SETUP (guest or any configured share account); no host root or kernel capabilities are needed on the attacker side to plant the corrupt durable-handle entry.\nUI:N - No victim user action (opening files, mounting shares, clicking links) is required; the crash is triggered by kernel procfs iteration, not by end-user interaction.\nS:U - Impact is a kernel NULL pointer dereference/panic within the ksmbd/kernel security authority; it does not cross VM, IOMMU, or sandbox boundaries.\nC:N - This is a pure NULL pointer dereference at `fp-\u003etcon-\u003eid` with no out-of-bounds read, UAF, or other memory corruption that could leak kernel data.\nI:N - The bug is a read of address 0 through a NULL `fp-\u003etcon` pointer; it provides no write primitive, type confusion, or control-flow hijack opportunity.\nA:H - Unconditional dereference of NULL `fp-\u003etcon` in `proc_show_files()` causes a kernel general protection fault/oops (KASAN null-ptr-deref), crashing or severely disrupting the host."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:39:40.506Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8eab081627b67216d1c8f638b68289b500dc9a6b"
        },
        {
          "url": "https://git.kernel.org/stable/c/904901561e61a2b559070b20c74a8c95491f30aa"
        }
      ],
      "title": "ksmbd: fix null pointer dereference in proc_show_files()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64140",
    "datePublished": "2026-07-19T15:40:33.194Z",
    "dateReserved": "2026-07-19T07:54:57.037Z",
    "dateUpdated": "2026-08-05T12:39:40.506Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64140",
      "date": "2026-09-21",
      "epss": "0.00359",
      "percentile": "0.29612"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/smb/server/vfs_cache.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "8eab081627b67216d1c8f638b68289b500dc9a6b",
                    "status": "affected",
                    "version": "b38f99c1217ae04753340f0fdcd8f35bf56841dc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "904901561e61a2b559070b20c74a8c95491f30aa",
                    "status": "affected",
                    "version": "b38f99c1217ae04753340f0fdcd8f35bf56841dc",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/smb/server/vfs_cache.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "7.0"
                  },
                  {
                    "lessThan": "7.0",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "1E9C5828-E95C-4C2B-83D6-A3698BA0B1C1",
                    "versionEndExcluding": "7.0.11",
                    "versionStartIncluding": "7.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "B1EF7059-E670-45F4-B422-54C40FA86390",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "0D38F0BF-A728-4133-A358-D44A2F7EE6D6",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
                    "matchCriteriaId": "EC732D08-5F7B-46D9-B154-E60C7F4F0A97",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*",
                    "matchCriteriaId": "E5910A9D-F60A-409A-B486-FE66BFEBA9B9",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: fix null pointer dereference in proc_show_files()\n\nWhen a SMB2 client opens a file with a durable v2 handle and then issues\nSMB2 SESSION_LOGOFF, session_fd_check() clears fp-\u003etcon = NULL on the\nreconnectable file pointer but leaves the fp registered in global_ft.idr\nuntil the durable scavenger fires (up to fp-\u003edurable_timeout seconds\nlater).\n\nDuring that window any read of /proc/fs/ksmbd/files (mode 0400) panics\nthe kernel because proc_show_files() walks global_ft.idr and\nunconditionally dereferences fp-\u003etcon-\u003eid with no NULL guard.\n\nReproducer requires only a successful SMB2 SESSION_SETUP and a share\nconfigured with \u0027durable handles = yes\u0027. KASAN report on mainline\n70390501d194:\n\n  general protection fault, probably for non-canonical address\n  0xdffffc0000000000: 0000 [#1] SMP KASAN PTI\n  KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]\n  RIP: 0010:proc_show_files+0x118/0x740\n  Call Trace:\n   proc_show_files+0x118/0x740\n   seq_read_iter+0x4ef/0xe10\n   proc_reg_read_iter+0x1b7/0x280\n   ...\n\nGuard the dereference. A durable-disconnected fp legitimately has no\ntcon; report its tree id as 0 rather than oopsing."
          }
        ],
        "id": "CVE-2026-64140",
        "lastModified": "2026-08-18T12:40:01.143",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 3.6,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-19T16:17:55.887",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/8eab081627b67216d1c8f638b68289b500dc9a6b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/904901561e61a2b559070b20c74a8c95491f30aa"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-476"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-07-21T08:07:16+00:00",
      "cve": "CVE-2026-64140",
      "id": "CVE-2026-64140",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_not_affected": "275",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ksmbd: fix null pointer dereference in proc_show_files()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64140.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-03T17:14:50Z",
      "cve": "CVE-2026-64140",
      "id": "CVE-2026-64140",
      "initial_release_date": "2026-07-21T12:58:58Z",
      "product_status:known_not_affected": "296",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-64140",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64140.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…