{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9"
            },
            {
              "fixed": "b56400364aed5c34d6e1a0b493081290a5328a9c"
            },
            {
              "fixed": "89ca7756d5566ba636bb9092cdbe57dab095e136"
            },
            {
              "fixed": "954d196bebb2b50151cb96454c72dc113b2af1ac"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "5.15.0"
            },
            {
              "fixed": "6.18.40"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.1.4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64389.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: validate NTLMv2 response before updating session key\n\nksmbd_auth_ntlmv2() derives the NTLMv2 session key into\nsess-\u003esess_key before it verifies the NTLMv2 response.\nksmbd_decode_ntlmssp_auth_blob() then continues into KEY_XCH even\nwhen ksmbd_auth_ntlmv2() failed.\n\nWith SMB3 multichannel binding, the failed authentication operates on\nan existing session and the session setup error path does not expire\nbinding sessions. A client can send a binding session setup with a\nbad NT proof and KEY_XCH and still modify sess-\u003esess_key before\nSTATUS_LOGON_FAILURE is returned.\n\nRelevant path:\n\n  smb2_sess_setup()\n    -\u003e conn-\u003ebinding = true\n    -\u003e ntlm_authenticate()\n       -\u003e session_user()\n       -\u003e ksmbd_decode_ntlmssp_auth_blob()\n          -\u003e ksmbd_auth_ntlmv2()\n             -\u003e calc_ntlmv2_hash()\n             -\u003e hmac_md5_usingrawkey(..., sess-\u003esess_key)\n             -\u003e crypto_memneq() returns mismatch\n          -\u003e KEY_XCH arc4_crypt(..., sess-\u003esess_key, ...)\n    -\u003e out_err without expiring the binding session\n\nDerive the base session key into a local buffer and copy it to\nsess-\u003esess_key only after the proof matches. Return immediately on\nauthentication failure so KEY_XCH is only processed after successful\nauthentication.",
  "id": "CVE-2026-64389",
  "modified": "2026-07-28T03:55:52.614066620Z",
  "published": "2026-07-25T08:50:36.817Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/89ca7756d5566ba636bb9092cdbe57dab095e136"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/954d196bebb2b50151cb96454c72dc113b2af1ac"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b56400364aed5c34d6e1a0b493081290a5328a9c"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64389.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-64389"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.8.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "ksmbd: validate NTLMv2 response before updating session key"
}