← Back to CVE Explorer

CVE-2026-97554

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: smb: client: avoid using uninitialized SIDs in cifs_posix_to_fattr() cifs_posix_to_fattr() ignores the return value of posix_info_parse(). When a malformed POSIX directory entry is encountered (e.g. invalid SID lengths from an untrusted server), posix_info_parse() returns -1 without populating the 'parsed' struct. The uninitialized stack memory in parsed.owner and parsed.group is then passed to sid_to_id(), which processes the garbage bytes and passes them to request_key() to construct a SID string, potentially leaking kernel stack contents to the userspace idmap daemon. Fix this by checking the return value and skipping the SID-to-id mapping when parsing fails. The remaining fattr fields (timestamps, mode, etc.) are populated directly from the 'info' pointer so they are unaffected.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-25 11:17:05.860000
Last modified
2026-10-30 13:21:07.387000
View original CVE JSON
{
  "id": "CVE-2026-97554",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-25T11:17:05.860",
  "lastModified": "2026-10-30T13:21:07.387",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: avoid using uninitialized SIDs in cifs_posix_to_fattr()\n\ncifs_posix_to_fattr() ignores the return value of posix_info_parse().\nWhen a malformed POSIX directory entry is encountered (e.g. invalid\nSID lengths from an untrusted server), posix_info_parse() returns -1\nwithout populating the 'parsed' struct.  The uninitialized stack\nmemory in parsed.owner and parsed.group is then passed to\nsid_to_id(), which processes the garbage bytes and passes them to\nrequest_key() to construct a SID string, potentially leaking kernel\nstack contents to the userspace idmap daemon.\n\nFix this by checking the return value and skipping the SID-to-id\nmapping when parsing fails.  The remaining fattr fields (timestamps,\nmode, etc.) are populated directly from the 'info' pointer so they\nare unaffected."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "fs/smb/client/readdir.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "9934430e2178d5164eb1ac91a9b092f9e7e64745",
              "lessThan": "1915b69e36906968e2b698699d0f219875ae846e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "9934430e2178d5164eb1ac91a9b092f9e7e64745",
              "lessThan": "604feb3e8141bf11f5afd48d36d401fee5af9536",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "9934430e2178d5164eb1ac91a9b092f9e7e64745",
              "lessThan": "33106019c3be57b5fc6411cfaad6d98214a51265",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "9934430e2178d5164eb1ac91a9b092f9e7e64745",
              "lessThan": "2be31f252ade791b84f7164991f14436aed1d4b9",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "9934430e2178d5164eb1ac91a9b092f9e7e64745",
              "lessThan": "c9a8b60ce140a68d172452f418137fc7ddbae7db",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "9934430e2178d5164eb1ac91a9b092f9e7e64745",
              "lessThan": "da6e25842431982d5a53cf00d925b98c690f4467",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "dd80b98bdf0a4b3206739f3513b0518f27a7b4ef",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d8e39c11f66125f49de55537a6efc8ecadf4a0f7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "5.8.17",
              "lessThan": "5.9",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "5.9.2",
              "lessThan": "5.10",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "fs/smb/client/readdir.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.10",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.10",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.191",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.114",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.57",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.7",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1915b69e36906968e2b698699d0f219875ae846e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2be31f252ade791b84f7164991f14436aed1d4b9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/33106019c3be57b5fc6411cfaad6d98214a51265",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/604feb3e8141bf11f5afd48d36d401fee5af9536",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c9a8b60ce140a68d172452f418137fc7ddbae7db",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/da6e25842431982d5a53cf00d925b98c690f4467",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}