CVE-2024-41079 (GCVE-0-2024-41079)
Vulnerability from cvelistv5
Published
2024-07-29 15:04
Modified
2026-08-05 11:35
Summary
In the Linux kernel, the following vulnerability has been resolved: nvmet: always initialize cqe.result The spec doesn't mandate that the first two double words (aka results) for the command queue entry need to be set to 0 when they are not used (not specified). Though, the target implemention returns 0 for TCP and FC but not for RDMA. Let's make RDMA behave the same and thus explicitly initializing the result field. This prevents leaking any data from the stack.
Impacted products
Vendor Product Version
Linux Linux Version: a07b4970f464f13640e28e16dad6cfa33647cc99
Version: a07b4970f464f13640e28e16dad6cfa33647cc99
Version: a07b4970f464f13640e28e16dad6cfa33647cc99
Version: a07b4970f464f13640e28e16dad6cfa33647cc99
Version: a07b4970f464f13640e28e16dad6cfa33647cc99
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T22:00:36.974Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/30d35b24b7957922f81cfdaa66f2e1b1e9b9aed2"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/10967873b80742261527a071954be8b54f0f8e4d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0990e8a863645496b9e3f91cfcfd63cd95c80319"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/cd0c1b8e045a8d2785342b385cb2684d9b48e426"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-41079",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:21:11.653239Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:59.600Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/target/core.c",
            "drivers/nvme/target/fabrics-cmd-auth.c",
            "drivers/nvme/target/fabrics-cmd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c6a2cf8b0764f3ba7d9bff58c8775a6d4476bb29",
              "status": "affected",
              "version": "a07b4970f464f13640e28e16dad6cfa33647cc99",
              "versionType": "git"
            },
            {
              "lessThan": "30d35b24b7957922f81cfdaa66f2e1b1e9b9aed2",
              "status": "affected",
              "version": "a07b4970f464f13640e28e16dad6cfa33647cc99",
              "versionType": "git"
            },
            {
              "lessThan": "10967873b80742261527a071954be8b54f0f8e4d",
              "status": "affected",
              "version": "a07b4970f464f13640e28e16dad6cfa33647cc99",
              "versionType": "git"
            },
            {
              "lessThan": "0990e8a863645496b9e3f91cfcfd63cd95c80319",
              "status": "affected",
              "version": "a07b4970f464f13640e28e16dad6cfa33647cc99",
              "versionType": "git"
            },
            {
              "lessThan": "cd0c1b8e045a8d2785342b385cb2684d9b48e426",
              "status": "affected",
              "version": "a07b4970f464f13640e28e16dad6cfa33647cc99",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/target/core.c",
            "drivers/nvme/target/fabrics-cmd-auth.c",
            "drivers/nvme/target/fabrics-cmd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.8"
            },
            {
              "lessThan": "4.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.101",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.209",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.101",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.42",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9.11",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvmet: always initialize cqe.result\n\nThe spec doesn\u0027t mandate that the first two double words (aka results)\nfor the command queue entry need to be set to 0 when they are not\nused (not specified). Though, the target implemention returns 0 for TCP\nand FC but not for RDMA.\n\nLet\u0027s make RDMA behave the same and thus explicitly initializing the\nresult field. This prevents leaking any data from the stack."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - nvmet is the in-kernel NVMe-over-Fabrics target; the leaked CQE is delivered to a remote initiator over RDMA (RoCEv2 over UDP/IP, iWARP over TCP, and soft-RoCE/siw over ordinary Ethernet are all IP-routable) on the standard NVMe-oF port. The defect itself is in transport-generic `nvmet_req_init()`, and NVMe-oF targets are explicitly network-facing services.\nAC:L - The leak is fully deterministic \u2014 establish an RDMA CM connection and send any command capsule, and the uninitialized 8-byte result field is returned every time. There is no race, no timing window, and no memory-layout precondition required to obtain the disclosure.\nPR:N - The response buffers are allocated directly from the RDMA CM connect request, and any command sent before Connect completes (`req-\u003esq-\u003ectrl == NULL`) is rejected by `nvmet_parse_connect_cmd()` and completed with the uninitialized CQE \u2014 no host NQN validation, no DH-HMAC-CHAP authentication, and no valid NVMe Connect is needed. This is a purely pre-authentication code path.\nUI:N - Exploitation requires only that the attacker connect to the exported NVMe-oF target and issue commands; no action by any local user or administrator is involved.\nS:U - The disclosed data and the vulnerable code are both within the target kernel\u0027s security authority, with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - Each response leaks 8 bytes of uninitialized kmalloc-16 slab memory, and the attacker controls the volume without bound \u2014 `hsqsize` is uncapped for I/O queues (up to ~131072 fresh CQEs per queue) and `nvmet_rdma_get_rsp()` allocates and frees a brand-new CQE per in-flight command past the free list, giving a repeatable spray-and-harvest oracle over recently-freed heap objects that readily yields kernel pointers and other sensitive residue.\nI:N - The bug only causes stale, non-attacker-chosen bytes to be emitted in the completion entry; no kernel data structure, file content, or target state is modified as a result.\nA:N - Reading uninitialized memory within a validly allocated 16-byte object causes no crash, hang, or resource exhaustion \u2014 the target continues operating normally while leaking."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:35:14.304Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c6a2cf8b0764f3ba7d9bff58c8775a6d4476bb29"
        },
        {
          "url": "https://git.kernel.org/stable/c/30d35b24b7957922f81cfdaa66f2e1b1e9b9aed2"
        },
        {
          "url": "https://git.kernel.org/stable/c/10967873b80742261527a071954be8b54f0f8e4d"
        },
        {
          "url": "https://git.kernel.org/stable/c/0990e8a863645496b9e3f91cfcfd63cd95c80319"
        },
        {
          "url": "https://git.kernel.org/stable/c/cd0c1b8e045a8d2785342b385cb2684d9b48e426"
        }
      ],
      "title": "nvmet: always initialize cqe.result",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-41079",
    "datePublished": "2024-07-29T15:04:16.733Z",
    "dateReserved": "2024-07-12T12:17:45.632Z",
    "dateUpdated": "2026-08-05T11:35:14.304Z",
    "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/30d35b24b7957922f81cfdaa66f2e1b1e9b9aed2\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/10967873b80742261527a071954be8b54f0f8e4d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0990e8a863645496b9e3f91cfcfd63cd95c80319\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/cd0c1b8e045a8d2785342b385cb2684d9b48e426\", \"tags\": [\"x_transferred\"]}, {\"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:00:36.974Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-41079\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T16:21:11.653239Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:20.030Z\"}}], \"cna\": {\"title\": \"nvmet: always initialize cqe.result\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"a07b4970f464f13640e28e16dad6cfa33647cc99\", \"lessThan\": \"c6a2cf8b0764f3ba7d9bff58c8775a6d4476bb29\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a07b4970f464f13640e28e16dad6cfa33647cc99\", \"lessThan\": \"30d35b24b7957922f81cfdaa66f2e1b1e9b9aed2\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a07b4970f464f13640e28e16dad6cfa33647cc99\", \"lessThan\": \"10967873b80742261527a071954be8b54f0f8e4d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a07b4970f464f13640e28e16dad6cfa33647cc99\", \"lessThan\": \"0990e8a863645496b9e3f91cfcfd63cd95c80319\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a07b4970f464f13640e28e16dad6cfa33647cc99\", \"lessThan\": \"cd0c1b8e045a8d2785342b385cb2684d9b48e426\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/nvme/target/core.c\", \"drivers/nvme/target/fabrics-cmd-auth.c\", \"drivers/nvme/target/fabrics-cmd.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.8\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.8\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.209\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.101\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.42\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9.11\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/nvme/target/core.c\", \"drivers/nvme/target/fabrics-cmd-auth.c\", \"drivers/nvme/target/fabrics-cmd.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/c6a2cf8b0764f3ba7d9bff58c8775a6d4476bb29\"}, {\"url\": \"https://git.kernel.org/stable/c/30d35b24b7957922f81cfdaa66f2e1b1e9b9aed2\"}, {\"url\": \"https://git.kernel.org/stable/c/10967873b80742261527a071954be8b54f0f8e4d\"}, {\"url\": \"https://git.kernel.org/stable/c/0990e8a863645496b9e3f91cfcfd63cd95c80319\"}, {\"url\": \"https://git.kernel.org/stable/c/cd0c1b8e045a8d2785342b385cb2684d9b48e426\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnvmet: always initialize cqe.result\\n\\nThe spec doesn\u0027t mandate that the first two double words (aka results)\\nfor the command queue entry need to be set to 0 when they are not\\nused (not specified). Though, the target implemention returns 0 for TCP\\nand FC but not for RDMA.\\n\\nLet\u0027s make RDMA behave the same and thus explicitly initializing the\\nresult field. This prevents leaking any data from the stack.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.209\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.101\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.42\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9.11\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10\", \"versionStartIncluding\": \"4.8\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-06-01T16:04:37.492Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-41079\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-06-01T16:04:37.492Z\", \"dateReserved\": \"2024-07-12T12:17:45.632Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-29T15:04:16.733Z\", \"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…