CVE-2023-54040 (GCVE-0-2023-54040)
Vulnerability from cvelistv5
Published
2025-12-24 10:56
Modified
2026-08-05 09:16
Summary
In the Linux kernel, the following vulnerability has been resolved: ice: fix wrong fallback logic for FDIR When adding a FDIR filter, if ice_vc_fdir_set_irq_ctx returns failure, the inserted fdir entry will not be removed and if ice_vc_fdir_write_fltr returns failure, the fdir context info for irq handler will not be cleared which may lead to inconsistent or memory leak issue. This patch refines failure cases to resolve this issue.
Impacted products
Vendor Product Version
Linux Linux Version: 1f7ea1cd6a3748427512ccc9582e18cd9efea966
Version: 1f7ea1cd6a3748427512ccc9582e18cd9efea966
Version: 1f7ea1cd6a3748427512ccc9582e18cd9efea966
Version: 1f7ea1cd6a3748427512ccc9582e18cd9efea966
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "391d28c0e38c0e5b11a4240a2b4976cf63e87f45",
              "status": "affected",
              "version": "1f7ea1cd6a3748427512ccc9582e18cd9efea966",
              "versionType": "git"
            },
            {
              "lessThan": "aad3b871efe26f36f45f8b4649653b5d3fd9c35e",
              "status": "affected",
              "version": "1f7ea1cd6a3748427512ccc9582e18cd9efea966",
              "versionType": "git"
            },
            {
              "lessThan": "cbfed5f114b5310f221979fc8190f55c6abc3400",
              "status": "affected",
              "version": "1f7ea1cd6a3748427512ccc9582e18cd9efea966",
              "versionType": "git"
            },
            {
              "lessThan": "b4a01ace20f5c93c724abffc0a83ec84f514b98d",
              "status": "affected",
              "version": "1f7ea1cd6a3748427512ccc9582e18cd9efea966",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.13"
            },
            {
              "lessThan": "5.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.107",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.24",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.107",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.24",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.11",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nice: fix wrong fallback logic for FDIR\n\nWhen adding a FDIR filter, if ice_vc_fdir_set_irq_ctx returns failure,\nthe inserted fdir entry will not be removed and if ice_vc_fdir_write_fltr\nreturns failure, the fdir context info for irq handler will not be cleared\nwhich may lead to inconsistent or memory leak issue. This patch refines\nfailure cases to resolve this issue."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only via virtchnl mailbox messages sent by a Virtual Function over the PCIe/admin-queue interface, not from network packets; the attacker must be attached to the machine as a VF owner (typically a passed-through SR-IOV device in a guest VM).\nAC:L - The failing path is `ice_vc_fdir_set_irq_ctx()` returning -EBUSY, which the VF triggers deterministically by issuing two ADD_FDIR_FILTER requests inside the ~10 ms in-flight window it fully controls; heap reclaim of the freed `conf` uses the identical same-size devm allocation issued by simply adding more filters.\nPR:L - From the perspective of the vulnerable component (the host PF driver), the attacker holds only the low privilege of controlling an assigned VF \u2014 no host credentials, no capability check, and no authorization exists on the virtchnl handler path beyond the opcode allowlist.\nUI:N - Exploitation is entirely driven by mailbox messages the attacker emits; no action by a host administrator or any other user is needed.\nS:C - The attacker acts from a VF (normally owned by an untrusted guest/tenant) while the corrupted IDR, list and freed memory belong to the host PF driver, so the impact crosses the guest-to-host security authority boundary \u2014 consistent with how sibling i40e VF\u2192PF CVEs are scored.\nC:H - The dangling IDR entry lets a subsequent DEL_FDIR_FILTER read the reclaimed object and program hardware filter state from it, and the corrupted list is walked on every later add, giving use-after-free reads of arbitrary host kernel heap contents.\nI:H - The stale `fltr_node` yields `list_del()`/`list_add()` writes through attacker-groomed freed memory, and `ice_vc_fdir_flush_entry()` double-frees the same `conf`, providing write and heap-metadata corruption primitives sufficient for control-flow hijack in the host kernel.\nA:H - Use-after-free, list corruption and double free in the host PF driver reliably produce oops/panic and can be re-triggered at will by the VF, taking down the host and every other tenant sharing the adapter."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:16:41.015Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/391d28c0e38c0e5b11a4240a2b4976cf63e87f45"
        },
        {
          "url": "https://git.kernel.org/stable/c/aad3b871efe26f36f45f8b4649653b5d3fd9c35e"
        },
        {
          "url": "https://git.kernel.org/stable/c/cbfed5f114b5310f221979fc8190f55c6abc3400"
        },
        {
          "url": "https://git.kernel.org/stable/c/b4a01ace20f5c93c724abffc0a83ec84f514b98d"
        }
      ],
      "title": "ice: fix wrong fallback logic for FDIR",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54040",
    "datePublished": "2025-12-24T10:56:06.094Z",
    "dateReserved": "2025-12-24T10:53:46.181Z",
    "dateUpdated": "2026-08-05T09:16:41.015Z",
    "state": "PUBLISHED"
  },
  "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…