CVE-2024-26822 (GCVE-0-2024-26822)
Vulnerability from cvelistv5
Published
2024-04-17 09:43
Modified
2026-08-05 11:27
Summary
In the Linux kernel, the following vulnerability has been resolved: smb: client: set correct id, uid and cruid for multiuser automounts When uid, gid and cruid are not specified, we need to dynamically set them into the filesystem context used for automounting otherwise they'll end up reusing the values from the parent mount.
Impacted products
Vendor Product Version
Linux Linux Version: c8117ac42303f7ae99bbe53e4952f7d147cca1fb
Version: 60e3318e3e900ba1ddfead937012b3432dfccc92
Version: 9fd29a5bae6e8f94b410374099a6fddb253d2d5f
Version: 9fd29a5bae6e8f94b410374099a6fddb253d2d5f
Version: 9fd29a5bae6e8f94b410374099a6fddb253d2d5f
Version: 5.15.124   
Version: 6.1.54   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-26822",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-05-09T18:40:21.396618Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:48:41.629Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:14:13.530Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/c2aa2718cda2d56b4a551cb40043e9abc9684626"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/7590ba9057c6d74c66f3b909a383ec47cd2f27fb"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/4508ec17357094e2075f334948393ddedbb75157"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/namespace.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4a6e4c56721a3e6e2550b72ec56aab306c4607a7",
              "status": "affected",
              "version": "c8117ac42303f7ae99bbe53e4952f7d147cca1fb",
              "versionType": "git"
            },
            {
              "lessThan": "2ceba8ae1bd1f5589548cb722a5c583ca3a2dede",
              "status": "affected",
              "version": "60e3318e3e900ba1ddfead937012b3432dfccc92",
              "versionType": "git"
            },
            {
              "lessThan": "c2aa2718cda2d56b4a551cb40043e9abc9684626",
              "status": "affected",
              "version": "9fd29a5bae6e8f94b410374099a6fddb253d2d5f",
              "versionType": "git"
            },
            {
              "lessThan": "7590ba9057c6d74c66f3b909a383ec47cd2f27fb",
              "status": "affected",
              "version": "9fd29a5bae6e8f94b410374099a6fddb253d2d5f",
              "versionType": "git"
            },
            {
              "lessThan": "4508ec17357094e2075f334948393ddedbb75157",
              "status": "affected",
              "version": "9fd29a5bae6e8f94b410374099a6fddb253d2d5f",
              "versionType": "git"
            },
            {
              "lessThan": "5.15.201",
              "status": "affected",
              "version": "5.15.124",
              "versionType": "semver"
            },
            {
              "lessThan": "6.1.164",
              "status": "affected",
              "version": "6.1.54",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/namespace.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.2"
            },
            {
              "lessThan": "6.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.201",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.164",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.18",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.8",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.201",
                  "versionStartIncluding": "5.15.124",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.164",
                  "versionStartIncluding": "6.1.54",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.18",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.7.6",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.8",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: set correct id, uid and cruid for multiuser automounts\n\nWhen uid, gid and cruid are not specified, we need to dynamically\nset them into the filesystem context used for automounting otherwise\nthey\u0027ll end up reusing the values from the parent mount."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.7,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is reached by an ordinary path walk (`open`/`stat`/`chdir`) into a DFS junction or reparse point on a locally mounted SMB share, via `follow_automount()` \u2192 `cifs_d_automount()`. Delivery is a local syscall, not a network protocol message.\nAC:L - The attacker deterministically triggers the automount by traversing the path, and can plant the reparse-point/junction trigger themselves if they hold write access anywhere in the share; there is no race, no memory-layout dependency, and no reliance on victim state. `multiuser` plus DFS is the standard deployment for multi-user Linux clients in AD/Kerberos environments, not a rare configuration.\nPR:L - The attacker needs only an unprivileged local account with access to the existing `multiuser` CIFS mount; no capability, keyring privilege, or mount privilege is checked anywhere along `follow_automount()` \u2192 `cifs_do_automount()` \u2192 `fc_mount()`.\nUI:N - The attacker performs the triggering path traversal themselves and no other user has to act; the pre-existing `multiuser` mount is environment configuration established at boot/login, not victim interaction at exploit time.\nS:C - The wrong `cred_uid` makes the kernel request a Kerberos ticket for, and authenticate the submount as, a different principal (typically root or the machine account), so the impacted resources \u2014 server-side files and another principal\u0027s identity \u2014 are governed by the SMB server and KDC, a security authority distinct from the local kernel. This matches the repo\u0027s precedent of scoring cross-authority filesystem authorization bugs (e.g. CVE-2025-40362, ceph multifs MDS auth caps) as S:C.\nC:H - The unprivileged user obtains a tree connect and root/prefix-path queries against the DFS target under the mount owner\u0027s (typically root\u0027s) credentials, letting them read files and metadata across the DFS namespace they hold no rights to, with full control over which paths they target. The shared submount superblock and cache further break the per-user isolation `multiuser` exists to provide.\nI:H - The same borrowed high-privilege principal backs every operation issued over the submount\u0027s master tcon (including legacy `cifs_setattr`) and binds the whole submount namespace to another user\u0027s session, so data and metadata on the remote target can be modified under an identity the attacker does not own. Inode ownership on the submount is additionally attributed to the parent mount\u0027s uid/gid rather than the accessing user.\nA:L - There is no kernel crash, hang, or resource exhaustion, but automounts fail with -EACCES when the inherited `cred_uid`\u0027s credential is unusable (the originally reported symptom), and superblock reuse keyed on the wrong uid can wedge users out \u2014 denying access to the DFS subtree for legitimate users, a limited availability loss."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:27:37.199Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/4a6e4c56721a3e6e2550b72ec56aab306c4607a7"
        },
        {
          "url": "https://git.kernel.org/stable/c/2ceba8ae1bd1f5589548cb722a5c583ca3a2dede"
        },
        {
          "url": "https://git.kernel.org/stable/c/c2aa2718cda2d56b4a551cb40043e9abc9684626"
        },
        {
          "url": "https://git.kernel.org/stable/c/7590ba9057c6d74c66f3b909a383ec47cd2f27fb"
        },
        {
          "url": "https://git.kernel.org/stable/c/4508ec17357094e2075f334948393ddedbb75157"
        }
      ],
      "title": "smb: client: set correct id, uid and cruid for multiuser automounts",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-26822",
    "datePublished": "2024-04-17T09:43:49.221Z",
    "dateReserved": "2024-02-19T14:20:24.180Z",
    "dateUpdated": "2026-08-05T11:27:37.199Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/c2aa2718cda2d56b4a551cb40043e9abc9684626\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/7590ba9057c6d74c66f3b909a383ec47cd2f27fb\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/4508ec17357094e2075f334948393ddedbb75157\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T00:14:13.530Z\"}}, {\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-26822\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-05-09T18:40:21.396618Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:24.266Z\"}, \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"title\": \"smb: client: set correct id, uid and cruid for multiuser automounts\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 8.7, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The vulnerable code is reached by an ordinary path walk (`open`/`stat`/`chdir`) into a DFS junction or reparse point on a locally mounted SMB share, via `follow_automount()` \\u2192 `cifs_d_automount()`. Delivery is a local syscall, not a network protocol message.\\nAC:L - The attacker deterministically triggers the automount by traversing the path, and can plant the reparse-point/junction trigger themselves if they hold write access anywhere in the share; there is no race, no memory-layout dependency, and no reliance on victim state. `multiuser` plus DFS is the standard deployment for multi-user Linux clients in AD/Kerberos environments, not a rare configuration.\\nPR:L - The attacker needs only an unprivileged local account with access to the existing `multiuser` CIFS mount; no capability, keyring privilege, or mount privilege is checked anywhere along `follow_automount()` \\u2192 `cifs_do_automount()` \\u2192 `fc_mount()`.\\nUI:N - The attacker performs the triggering path traversal themselves and no other user has to act; the pre-existing `multiuser` mount is environment configuration established at boot/login, not victim interaction at exploit time.\\nS:C - The wrong `cred_uid` makes the kernel request a Kerberos ticket for, and authenticate the submount as, a different principal (typically root or the machine account), so the impacted resources \\u2014 server-side files and another principal\u0027s identity \\u2014 are governed by the SMB server and KDC, a security authority distinct from the local kernel. This matches the repo\u0027s precedent of scoring cross-authority filesystem authorization bugs (e.g. CVE-2025-40362, ceph multifs MDS auth caps) as S:C.\\nC:H - The unprivileged user obtains a tree connect and root/prefix-path queries against the DFS target under the mount owner\u0027s (typically root\u0027s) credentials, letting them read files and metadata across the DFS namespace they hold no rights to, with full control over which paths they target. The shared submount superblock and cache further break the per-user isolation `multiuser` exists to provide.\\nI:H - The same borrowed high-privilege principal backs every operation issued over the submount\u0027s master tcon (including legacy `cifs_setattr`) and binds the whole submount namespace to another user\u0027s session, so data and metadata on the remote target can be modified under an identity the attacker does not own. Inode ownership on the submount is additionally attributed to the parent mount\u0027s uid/gid rather than the accessing user.\\nA:L - There is no kernel crash, hang, or resource exhaustion, but automounts fail with -EACCES when the inherited `cred_uid`\u0027s credential is unusable (the originally reported symptom), and superblock reuse keyed on the wrong uid can wedge users out \\u2014 denying access to the DFS subtree for legitimate users, a limited availability loss.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"c8117ac42303f7ae99bbe53e4952f7d147cca1fb\", \"lessThan\": \"4a6e4c56721a3e6e2550b72ec56aab306c4607a7\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"60e3318e3e900ba1ddfead937012b3432dfccc92\", \"lessThan\": \"2ceba8ae1bd1f5589548cb722a5c583ca3a2dede\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"9fd29a5bae6e8f94b410374099a6fddb253d2d5f\", \"lessThan\": \"c2aa2718cda2d56b4a551cb40043e9abc9684626\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"9fd29a5bae6e8f94b410374099a6fddb253d2d5f\", \"lessThan\": \"7590ba9057c6d74c66f3b909a383ec47cd2f27fb\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"9fd29a5bae6e8f94b410374099a6fddb253d2d5f\", \"lessThan\": \"4508ec17357094e2075f334948393ddedbb75157\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5.15.124\", \"lessThan\": \"5.15.201\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"6.1.54\", \"lessThan\": \"6.1.164\", \"versionType\": \"semver\"}], \"programFiles\": [\"fs/smb/client/namespace.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.2\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.2\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.201\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.164\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.18\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.7.6\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.7.*\"}, {\"status\": \"unaffected\", \"version\": \"6.8\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/smb/client/namespace.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/4a6e4c56721a3e6e2550b72ec56aab306c4607a7\"}, {\"url\": \"https://git.kernel.org/stable/c/2ceba8ae1bd1f5589548cb722a5c583ca3a2dede\"}, {\"url\": \"https://git.kernel.org/stable/c/c2aa2718cda2d56b4a551cb40043e9abc9684626\"}, {\"url\": \"https://git.kernel.org/stable/c/7590ba9057c6d74c66f3b909a383ec47cd2f27fb\"}, {\"url\": \"https://git.kernel.org/stable/c/4508ec17357094e2075f334948393ddedbb75157\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nsmb: client: set correct id, uid and cruid for multiuser automounts\\n\\nWhen uid, gid and cruid are not specified, we need to dynamically\\nset them into the filesystem context used for automounting otherwise\\nthey\u0027ll end up reusing the values from the parent mount.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.201\", \"versionStartIncluding\": \"5.15.124\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.164\", \"versionStartIncluding\": \"6.1.54\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.18\", \"versionStartIncluding\": \"6.2\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.7.6\", \"versionStartIncluding\": \"6.2\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.8\", \"versionStartIncluding\": \"6.2\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:27:37.199Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-26822\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:27:37.199Z\", \"dateReserved\": \"2024-02-19T14:20:24.180Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-04-17T09:43:49.221Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…