CVE-2024-50284 (GCVE-0-2024-50284)
Vulnerability from cvelistv5
Published
2024-11-19 01:30
Modified
2026-08-05 11:43
Summary
In the Linux kernel, the following vulnerability has been resolved: ksmbd: Fix the missing xa_store error check xa_store() can fail, it return xa_err(-EINVAL) if the entry cannot be stored in an XArray, or xa_err(-ENOMEM) if memory allocation failed, so check error for xa_store() to fix it.
Impacted products
Vendor Product Version
Linux Linux Version: 052b41ef2abe274f068e892aee81406f11bd1f3a
Version: b685757c7b08d5073046fb379be965fd6c06aafc
Version: b685757c7b08d5073046fb379be965fd6c06aafc
Version: b685757c7b08d5073046fb379be965fd6c06aafc
Version: 1f485b54d04a920723984062c912174330a05178
Version: 6.1.71   
Version: 5.15.145   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 5.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2024-50284",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T20:14:37.037019Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-754",
                "description": "CWE-754 Improper Check for Unusual or Exceptional Conditions",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T20:17:22.095Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T22:28:06.521Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/server/mgmt/user_session.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d8664ce789bd46290c59a00da6897252f92c237d",
              "status": "affected",
              "version": "052b41ef2abe274f068e892aee81406f11bd1f3a",
              "versionType": "git"
            },
            {
              "lessThan": "726c1568b9145fa13ee248df184b186c382a7ff8",
              "status": "affected",
              "version": "b685757c7b08d5073046fb379be965fd6c06aafc",
              "versionType": "git"
            },
            {
              "lessThan": "c2a232c4f790f4bcd4d218904c56ac7a39a448f5",
              "status": "affected",
              "version": "b685757c7b08d5073046fb379be965fd6c06aafc",
              "versionType": "git"
            },
            {
              "lessThan": "3abab905b14f4ba756d413f37f1fb02b708eee93",
              "status": "affected",
              "version": "b685757c7b08d5073046fb379be965fd6c06aafc",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "1f485b54d04a920723984062c912174330a05178",
              "versionType": "git"
            },
            {
              "lessThan": "6.1.117",
              "status": "affected",
              "version": "6.1.71",
              "versionType": "semver"
            },
            {
              "lessThan": "5.16",
              "status": "affected",
              "version": "5.15.145",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/server/mgmt/user_session.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.117",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.61",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.117",
                  "versionStartIncluding": "6.1.71",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.61",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11.8",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.15.145",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: Fix the missing xa_store error check\n\nxa_store() can fail, it return xa_err(-EINVAL) if the entry cannot\nbe stored in an XArray, or xa_err(-ENOMEM) if memory allocation failed,\nso check error for xa_store() to fix it."
        }
      ],
      "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 - ksmbd is the in-kernel SMB server listening on TCP/445, and the vulnerable `ksmbd_session_rpc_open()` is driven entirely by a remote client\u0027s SMB2_CREATE against the IPC$ share. No local access is needed.\nAC:L - The code path is reached by an ordinary named-pipe open that the attacker issues at will, and the allocation-failure condition is one a remote attacker can drive on the memory-constrained embedded NAS/router platforms where ksmbd is typically deployed, by flooding connections, sessions and large request buffers.\nPR:N - Opening srvsvc/wkssvc/lsarpc on IPC$ is the classic SMB null-session path, and ksmbd\u0027s commonly shipped `map to guest = bad user` configuration lets an unauthenticated client obtain a guest session, tree-connect IPC$ and reach `create_smb2_pipe()` without any valid credentials.\nUI:N - The entire sequence (negotiate, session setup, tree connect to IPC$, SMB2_CREATE on a pipe) is initiated by the attacker against a listening server; no action by any local user or administrator is required.\nS:U - The leaked kernel object, the leaked IPC ID and the orphaned RPC handle all remain within the ksmbd server\u0027s own security authority; no VM, IOMMU or sandbox boundary is crossed.\nC:N - Nothing is read out of bounds and no kernel data is returned to the client; the client only learns an IDA-allocated small integer handle, which discloses no kernel memory contents or addresses.\nI:N - No memory is corrupted and no file or session data is modified \u2014 the ID is simply absent from the XArray, causing subsequent RPC operations on that handle to fail cleanly rather than alter state.\nA:H - Each occurrence permanently leaks a kernel slab object and a global IPC ID, and leaves an RPC pipe open forever in ksmbd.mountd because `ksmbd_session_rpc_close()`/`__session_rpc_close()` can never find the entry, so a remote attacker can repeatedly compound the leak into unrecoverable memory and handle exhaustion that takes the SMB server (and, on small-memory appliances, the system) down."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:43:03.668Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d8664ce789bd46290c59a00da6897252f92c237d"
        },
        {
          "url": "https://git.kernel.org/stable/c/726c1568b9145fa13ee248df184b186c382a7ff8"
        },
        {
          "url": "https://git.kernel.org/stable/c/c2a232c4f790f4bcd4d218904c56ac7a39a448f5"
        },
        {
          "url": "https://git.kernel.org/stable/c/3abab905b14f4ba756d413f37f1fb02b708eee93"
        }
      ],
      "title": "ksmbd: Fix the missing xa_store error check",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-50284",
    "datePublished": "2024-11-19T01:30:27.273Z",
    "dateReserved": "2024-10-21T19:36:19.984Z",
    "dateUpdated": "2026-08-05T11:43:03.668Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T22:28:06.521Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.5, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-50284\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T20:14:37.037019Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-754\", \"description\": \"CWE-754 Improper Check for Unusual or Exceptional Conditions\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T15:26:50.692Z\"}}], \"cna\": {\"title\": \"ksmbd: Fix the missing xa_store error check\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.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\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:N - ksmbd is the in-kernel SMB server listening on TCP/445, and the vulnerable `ksmbd_session_rpc_open()` is driven entirely by a remote client\u0027s SMB2_CREATE against the IPC$ share. No local access is needed.\\nAC:L - The code path is reached by an ordinary named-pipe open that the attacker issues at will, and the allocation-failure condition is one a remote attacker can drive on the memory-constrained embedded NAS/router platforms where ksmbd is typically deployed, by flooding connections, sessions and large request buffers.\\nPR:N - Opening srvsvc/wkssvc/lsarpc on IPC$ is the classic SMB null-session path, and ksmbd\u0027s commonly shipped `map to guest = bad user` configuration lets an unauthenticated client obtain a guest session, tree-connect IPC$ and reach `create_smb2_pipe()` without any valid credentials.\\nUI:N - The entire sequence (negotiate, session setup, tree connect to IPC$, SMB2_CREATE on a pipe) is initiated by the attacker against a listening server; no action by any local user or administrator is required.\\nS:U - The leaked kernel object, the leaked IPC ID and the orphaned RPC handle all remain within the ksmbd server\u0027s own security authority; no VM, IOMMU or sandbox boundary is crossed.\\nC:N - Nothing is read out of bounds and no kernel data is returned to the client; the client only learns an IDA-allocated small integer handle, which discloses no kernel memory contents or addresses.\\nI:N - No memory is corrupted and no file or session data is modified \\u2014 the ID is simply absent from the XArray, causing subsequent RPC operations on that handle to fail cleanly rather than alter state.\\nA:H - Each occurrence permanently leaks a kernel slab object and a global IPC ID, and leaves an RPC pipe open forever in ksmbd.mountd because `ksmbd_session_rpc_close()`/`__session_rpc_close()` can never find the entry, so a remote attacker can repeatedly compound the leak into unrecoverable memory and handle exhaustion that takes the SMB server (and, on small-memory appliances, the system) down.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"052b41ef2abe274f068e892aee81406f11bd1f3a\", \"lessThan\": \"d8664ce789bd46290c59a00da6897252f92c237d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"b685757c7b08d5073046fb379be965fd6c06aafc\", \"lessThan\": \"726c1568b9145fa13ee248df184b186c382a7ff8\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"b685757c7b08d5073046fb379be965fd6c06aafc\", \"lessThan\": \"c2a232c4f790f4bcd4d218904c56ac7a39a448f5\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"b685757c7b08d5073046fb379be965fd6c06aafc\", \"lessThan\": \"3abab905b14f4ba756d413f37f1fb02b708eee93\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"1f485b54d04a920723984062c912174330a05178\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6.1.71\", \"lessThan\": \"6.1.117\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.15.145\", \"lessThan\": \"5.16\", \"versionType\": \"semver\"}], \"programFiles\": [\"fs/smb/server/mgmt/user_session.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.3\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.117\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.61\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11.8\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.11.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/smb/server/mgmt/user_session.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/d8664ce789bd46290c59a00da6897252f92c237d\"}, {\"url\": \"https://git.kernel.org/stable/c/726c1568b9145fa13ee248df184b186c382a7ff8\"}, {\"url\": \"https://git.kernel.org/stable/c/c2a232c4f790f4bcd4d218904c56ac7a39a448f5\"}, {\"url\": \"https://git.kernel.org/stable/c/3abab905b14f4ba756d413f37f1fb02b708eee93\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nksmbd: Fix the missing xa_store error check\\n\\nxa_store() can fail, it return xa_err(-EINVAL) if the entry cannot\\nbe stored in an XArray, or xa_err(-ENOMEM) if memory allocation failed,\\nso check error for xa_store() to fix it.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.117\", \"versionStartIncluding\": \"6.1.71\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.61\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.11.8\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"5.15.145\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:43:03.668Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-50284\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:43:03.668Z\", \"dateReserved\": \"2024-10-21T19:36:19.984Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-11-19T01:30:27.273Z\", \"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…