cve-2024-56756
Vulnerability from cvelistv5
Published
2024-12-29 11:30
Modified
2025-01-20 06:27
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: nvme-pci: fix freeing of the HMB descriptor table The HMB descriptor table is sized to the maximum number of descriptors that could be used for a given device, but __nvme_alloc_host_mem could break out of the loop earlier on memory allocation failure and end up using less descriptors than planned for, which leads to an incorrect size passed to dma_free_coherent. In practice this was not showing up because the number of descriptors tends to be low and the dma coherent allocator always allocates and frees at least a page.
Impacted products
Vendor Product Version
Linux Linux Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Version: 87ad72a59a38d1df217cfd95bc222a2edfe5d399
Create a notification for this product.
   Linux Linux Version: 4.13
Create a notification for this product.
Show details on NVD website


{
   containers: {
      cna: {
         affected: [
            {
               defaultStatus: "unaffected",
               product: "Linux",
               programFiles: [
                  "drivers/nvme/host/pci.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     lessThan: "ac22240540e0c5230d8c4138e3778420b712716a",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "452f9ddd12bebc04cef741e8ba3806bf0e1fd015",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "869cf50b9c9d1059f5223f79ef68fc0bc6210095",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "fb96d5cfa97a7363245b3dd523f475b04296d87b",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "cee3bff51a35cab1c5d842d409a7b11caefe2386",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "6d0f599db73b099aa724a12736369c4d4d92849d",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "582d9ed999b004fb1d415ecbfa86d4d8df455269",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
                  {
                     lessThan: "3c2fb1ca8086eb139b2a551358137525ae8e0d7a",
                     status: "affected",
                     version: "87ad72a59a38d1df217cfd95bc222a2edfe5d399",
                     versionType: "git",
                  },
               ],
            },
            {
               defaultStatus: "affected",
               product: "Linux",
               programFiles: [
                  "drivers/nvme/host/pci.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     status: "affected",
                     version: "4.13",
                  },
                  {
                     lessThan: "4.13",
                     status: "unaffected",
                     version: "0",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "5.4.*",
                     status: "unaffected",
                     version: "5.4.287",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "5.10.*",
                     status: "unaffected",
                     version: "5.10.231",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "5.15.*",
                     status: "unaffected",
                     version: "5.15.174",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.1.*",
                     status: "unaffected",
                     version: "6.1.120",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.6.*",
                     status: "unaffected",
                     version: "6.6.64",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.11.*",
                     status: "unaffected",
                     version: "6.11.11",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.12.*",
                     status: "unaffected",
                     version: "6.12.2",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "*",
                     status: "unaffected",
                     version: "6.13",
                     versionType: "original_commit_for_fix",
                  },
               ],
            },
         ],
         descriptions: [
            {
               lang: "en",
               value: "In the Linux kernel, the following vulnerability has been resolved:\n\nnvme-pci: fix freeing of the HMB descriptor table\n\nThe HMB descriptor table is sized to the maximum number of descriptors\nthat could be used for a given device, but __nvme_alloc_host_mem could\nbreak out of the loop earlier on memory allocation failure and end up\nusing less descriptors than planned for, which leads to an incorrect\nsize passed to dma_free_coherent.\n\nIn practice this was not showing up because the number of descriptors\ntends to be low and the dma coherent allocator always allocates and\nfrees at least a page.",
            },
         ],
         providerMetadata: {
            dateUpdated: "2025-01-20T06:27:29.259Z",
            orgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            shortName: "Linux",
         },
         references: [
            {
               url: "https://git.kernel.org/stable/c/ac22240540e0c5230d8c4138e3778420b712716a",
            },
            {
               url: "https://git.kernel.org/stable/c/452f9ddd12bebc04cef741e8ba3806bf0e1fd015",
            },
            {
               url: "https://git.kernel.org/stable/c/869cf50b9c9d1059f5223f79ef68fc0bc6210095",
            },
            {
               url: "https://git.kernel.org/stable/c/fb96d5cfa97a7363245b3dd523f475b04296d87b",
            },
            {
               url: "https://git.kernel.org/stable/c/cee3bff51a35cab1c5d842d409a7b11caefe2386",
            },
            {
               url: "https://git.kernel.org/stable/c/6d0f599db73b099aa724a12736369c4d4d92849d",
            },
            {
               url: "https://git.kernel.org/stable/c/582d9ed999b004fb1d415ecbfa86d4d8df455269",
            },
            {
               url: "https://git.kernel.org/stable/c/3c2fb1ca8086eb139b2a551358137525ae8e0d7a",
            },
         ],
         title: "nvme-pci: fix freeing of the HMB descriptor table",
         x_generator: {
            engine: "bippy-5f407fcff5a0",
         },
      },
   },
   cveMetadata: {
      assignerOrgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      assignerShortName: "Linux",
      cveId: "CVE-2024-56756",
      datePublished: "2024-12-29T11:30:20.516Z",
      dateReserved: "2024-12-29T11:26:39.761Z",
      dateUpdated: "2025-01-20T06:27:29.259Z",
      state: "PUBLISHED",
   },
   dataType: "CVE_RECORD",
   dataVersion: "5.1",
   "vulnerability-lookup:meta": {
      nvd: "{\"cve\":{\"id\":\"CVE-2024-56756\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-12-29T12:15:09.190\",\"lastModified\":\"2025-01-06T20:33:10.813\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnvme-pci: fix freeing of the HMB descriptor table\\n\\nThe HMB descriptor table is sized to the maximum number of descriptors\\nthat could be used for a given device, but __nvme_alloc_host_mem could\\nbreak out of the loop earlier on memory allocation failure and end up\\nusing less descriptors than planned for, which leads to an incorrect\\nsize passed to dma_free_coherent.\\n\\nIn practice this was not showing up because the number of descriptors\\ntends to be low and the dma coherent allocator always allocates and\\nfrees at least a page.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nvme-pci: se corrige la liberación de la tabla de descriptores HMB La tabla de descriptores HMB tiene un tamaño que coincide con el número máximo de descriptores que se pueden usar para un dispositivo determinado, pero __nvme_alloc_host_mem podría salir del bucle antes en caso de fallo en la asignación de memoria y terminar usando menos descriptores de lo planeado, lo que lleva a que se pase un tamaño incorrecto a dma_free_coherent. En la práctica, esto no se mostraba porque el número de descriptores tiende a ser bajo y el asignador coherente dma siempre asigna y libera al menos una página.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-Other\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.13\",\"versionEndExcluding\":\"5.4.287\",\"matchCriteriaId\":\"B3FC0E85-A276-4943-A145-65EB84DFBC0E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.231\",\"matchCriteriaId\":\"B5C644CC-2BD7-4E32-BC54-8DCC7ABE9935\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.174\",\"matchCriteriaId\":\"419FD073-1517-4FD5-8158-F94BC68A1E89\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.120\",\"matchCriteriaId\":\"09AC6122-E2A4-40FE-9D33-268A1B2EC265\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.64\",\"matchCriteriaId\":\"CA16DEE3-ABEC-4449-9F4A-7A3DC4FC36C7\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.11.11\",\"matchCriteriaId\":\"21434379-192D-472F-9B54-D45E3650E893\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12\",\"versionEndExcluding\":\"6.12.2\",\"matchCriteriaId\":\"D8882B1B-2ABC-4838-AC1D-DBDBB5764776\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3c2fb1ca8086eb139b2a551358137525ae8e0d7a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/452f9ddd12bebc04cef741e8ba3806bf0e1fd015\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/582d9ed999b004fb1d415ecbfa86d4d8df455269\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6d0f599db73b099aa724a12736369c4d4d92849d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/869cf50b9c9d1059f5223f79ef68fc0bc6210095\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ac22240540e0c5230d8c4138e3778420b712716a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/cee3bff51a35cab1c5d842d409a7b11caefe2386\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/fb96d5cfa97a7363245b3dd523f475b04296d87b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
   },
}


Log in or create an account to share your comment.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



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.
  • 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.