CVE-2024-40999 (GCVE-0-2024-40999)

Vulnerability from cvelistv5 – Published: 2024-07-12 12:37 – Updated: 2026-08-05 11:34
VLAI
Title
net: ena: Add validation for completion descriptors consistency
Summary
In the Linux kernel, the following vulnerability has been resolved: net: ena: Add validation for completion descriptors consistency Validate that `first` flag is set only for the first descriptor in multi-buffer packets. In case of an invalid descriptor, a reset will occur. A new reset reason for RX data corruption has been added.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 1738cd3ed342294360d6a74d4e58800004bff854 , < 42146ee5286f16f1674a84f7c274dcca65c6ff2e (git)
Affected: 1738cd3ed342294360d6a74d4e58800004bff854 , < b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7 (git)
Create a notification for this product.
Linux Linux Affected: 4.9
Unaffected: 0 , < 4.9 (semver)
Unaffected: 6.9.7 , ≤ 6.9.* (semver)
Unaffected: 6.10 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T04:39:56.158Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/42146ee5286f16f1674a84f7c274dcca65c6ff2e"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-40999",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:01:22.448911Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:19.348Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/amazon/ena/ena_eth_com.c",
            "drivers/net/ethernet/amazon/ena/ena_netdev.c",
            "drivers/net/ethernet/amazon/ena/ena_regs_defs.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "42146ee5286f16f1674a84f7c274dcca65c6ff2e",
              "status": "affected",
              "version": "1738cd3ed342294360d6a74d4e58800004bff854",
              "versionType": "git"
            },
            {
              "lessThan": "b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7",
              "status": "affected",
              "version": "1738cd3ed342294360d6a74d4e58800004bff854",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/amazon/ena/ena_eth_com.c",
            "drivers/net/ethernet/amazon/ena/ena_netdev.c",
            "drivers/net/ethernet/amazon/ena/ena_regs_defs.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.9"
            },
            {
              "lessThan": "4.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.7",
              "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": "6.9.7",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ena: Add validation for completion descriptors consistency\n\nValidate that `first` flag is set only for the first\ndescriptor in multi-buffer packets.\nIn case of an invalid descriptor, a reset will occur.\nA new reset reason for RX data corruption has been added."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The vulnerable code is the NIC receive completion path (`ena_clean_rx_irq`/`ena_com_rx_pkt`), entered solely as a result of frames arriving from the network, and the multi-descriptor framing logic at fault is only exercised by large/scattered packets a remote peer generates at will. ENA is the standard NIC on internet-facing AWS EC2 instances, so the path is driven by remote, unauthenticated traffic.\nAC:L - No specific memory layout, victim state, or non-default configuration is required; the descriptor-framing path is exercised by ordinary multi-buffer RX traffic and the driver\u0027s cross-poll partial-packet state can be driven by sustained large-packet load. Per the rule to choose the higher severity when uncertain, the influenceable device-side framing condition is scored as Low rather than High.\nPR:N - Processing happens in NAPI/softirq context before any socket, filesystem, or authentication layer is reached, so no account or capability on the target is needed. A remote peer simply sends packets to the interface.\nUI:N - The RX completion path runs automatically whenever the interface is up and receiving traffic. No victim action of any kind is required.\nS:U - The mis-framed descriptors corrupt driver state and skb contents within the same kernel/host security authority. No VM, IOMMU, or sandbox boundary is crossed.\nC:H - Merged descriptor chains splice RX buffers belonging to unrelated packets into a single skb delivered to the network stack, and the accumulated `buf_offset`/`buf_len` can describe fragments extending past the real allocation, giving out-of-bounds reads. Stale page pointers reaching `skb_add_rx_frag()` constitute a use-after-free, which is scored High for confidentiality.\nI:H - The unguarded fragment loop can `page_ref_inc()` and `skb_add_rx_frag()` a stale or already-released page and DMA-unmap an already-unmapped buffer, producing double-free/UAF heap-corruption primitives; corrupted packet data is also injected into the stack. Memory corruption of this kind is exploitable for control-flow hijack and is scored High.\nA:H - A NULL `rx_info-\u003epage` reaching `page_ref_inc()`/`skb_add_rx_frag()` is an immediate kernel oops, and even the benign outcome is RX ring desync that stalls buffer replenishment and forces a full device reset, dropping network connectivity. Any kernel crash or hang is scored High."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:34:31.394Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/42146ee5286f16f1674a84f7c274dcca65c6ff2e"
        },
        {
          "url": "https://git.kernel.org/stable/c/b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7"
        }
      ],
      "title": "net: ena: Add validation for completion descriptors consistency",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-40999",
    "datePublished": "2024-07-12T12:37:40.507Z",
    "dateReserved": "2024-07-12T12:17:45.608Z",
    "dateUpdated": "2026-08-05T11:34:31.394Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-40999",
      "date": "2026-08-07",
      "epss": "0.00533",
      "percentile": "0.42113"
    },
    "microsoft_vex": {
      "current_release_date": "2026-06-28T01:49:54.000Z",
      "cve": "CVE-2024-40999",
      "id": "msrc_CVE-2024-40999",
      "initial_release_date": "2024-07-01T07:00:00.000Z",
      "product_status:known_affected": "3",
      "product_status:under_investigation": "16",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "net: ena: Add validation for completion descriptors consistency",
      "url": "https://msrc.microsoft.com/csaf/vex/2024/msrc_cve-2024-40999.json",
      "version": "14"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-40999\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-12T13:15:20.920\",\"lastModified\":\"2026-06-17T07:47:03.170\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: ena: Add validation for completion descriptors consistency\\n\\nValidate that `first` flag is set only for the first\\ndescriptor in multi-buffer packets.\\nIn case of an invalid descriptor, a reset will occur.\\nA new reset reason for RX data corruption has been added.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: net: ena: agregue validaci\u00f3n para la coherencia de los descriptores de finalizaci\u00f3n. Valide que el indicador \\\"primer\\\" est\u00e9 configurado solo para el primer descriptor en paquetes de m\u00faltiples b\u00fafer. En caso de un descriptor no v\u00e1lido, se producir\u00e1 un reinicio. Se ha agregado un nuevo motivo de reinicio para la corrupci\u00f3n de datos RX.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/ethernet/amazon/ena/ena_eth_com.c\",\"drivers/net/ethernet/amazon/ena/ena_netdev.c\",\"drivers/net/ethernet/amazon/ena/ena_regs_defs.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"1738cd3ed342294360d6a74d4e58800004bff854\",\"lessThan\":\"42146ee5286f16f1674a84f7c274dcca65c6ff2e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"1738cd3ed342294360d6a74d4e58800004bff854\",\"lessThan\":\"b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/ethernet/amazon/ena/ena_eth_com.c\",\"drivers/net/ethernet/amazon/ena/ena_netdev.c\",\"drivers/net/ethernet/amazon/ena/ena_regs_defs.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.9\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.9\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.9.7\",\"lessThanOrEqual\":\"6.9.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.10\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"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}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-09-10T17:01:22.448911Z\",\"id\":\"CVE-2024-40999\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.9\",\"versionEndExcluding\":\"6.9.7\",\"matchCriteriaId\":\"DF088BC2-62DA-44BB-A35B-1F5BD0263AC6\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/42146ee5286f16f1674a84f7c274dcca65c6ff2e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/42146ee5286f16f1674a84f7c274dcca65c6ff2e\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-04T22:43:57+00:00",
      "cve": "CVE-2024-40999",
      "id": "CVE-2024-40999",
      "initial_release_date": "2024-07-12T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "14",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: ena: Add validation for completion descriptors consistency",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-40999.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/42146ee5286f16f1674a84f7c274dcca65c6ff2e\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T04:39:56.158Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-40999\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T17:01:22.448911Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:21.988Z\"}}], \"cna\": {\"title\": \"net: ena: Add validation for completion descriptors consistency\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"1738cd3ed342294360d6a74d4e58800004bff854\", \"lessThan\": \"42146ee5286f16f1674a84f7c274dcca65c6ff2e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"1738cd3ed342294360d6a74d4e58800004bff854\", \"lessThan\": \"b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/net/ethernet/amazon/ena/ena_eth_com.c\", \"drivers/net/ethernet/amazon/ena/ena_netdev.c\", \"drivers/net/ethernet/amazon/ena/ena_regs_defs.h\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.9\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.9\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.9.7\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/net/ethernet/amazon/ena/ena_eth_com.c\", \"drivers/net/ethernet/amazon/ena/ena_netdev.c\", \"drivers/net/ethernet/amazon/ena/ena_regs_defs.h\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/42146ee5286f16f1674a84f7c274dcca65c6ff2e\"}, {\"url\": \"https://git.kernel.org/stable/c/b37b98a3a0c1198bafe8c2d9ce0bc845b4e7a9a7\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: ena: Add validation for completion descriptors consistency\\n\\nValidate that `first` flag is set only for the first\\ndescriptor in multi-buffer packets.\\nIn case of an invalid descriptor, a reset will occur.\\nA new reset reason for RX data corruption has been added.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9.7\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10\", \"versionStartIncluding\": \"4.9\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-07-28T11:16:34.639Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-40999\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-07-28T11:16:34.639Z\", \"dateReserved\": \"2024-07-12T12:17:45.608Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-12T12:37:40.507Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…