← Back to CVE Explorer

CVE-2025-40185

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: ice: ice_adapter: release xa entry on adapter allocation failure When ice_adapter_new() fails, the reserved XArray entry created by xa_insert() is not released. This causes subsequent insertions at the same index to return -EBUSY, potentially leading to NULL pointer dereferences. Reorder the operations as suggested by Przemek Kitszel: 1. Check if adapter already exists (xa_load) 2. Reserve the XArray slot (xa_reserve) 3. Allocate the adapter (ice_adapter_new) 4. Store the adapter (xa_store)

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-11-12 22:15:45.320000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-40185",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-11-12T22:15:45.320",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nice: ice_adapter: release xa entry on adapter allocation failure\n\nWhen ice_adapter_new() fails, the reserved XArray entry created by\nxa_insert() is not released. This causes subsequent insertions at\nthe same index to return -EBUSY, potentially leading to\nNULL pointer dereferences.\n\nReorder the operations as suggested by Przemek Kitszel:\n1. Check if adapter already exists (xa_load)\n2. Reserve the XArray slot (xa_reserve)\n3. Allocate the adapter (ice_adapter_new)\n4. Store the adapter (xa_store)"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nice: ice_adapter: liberar entrada xa en caso de fallo en la asignación del adaptador\n\nCuando ice_adapter_new() falla, la entrada XArray reservada creada por xa_insert() no es liberada. Esto provoca que inserciones posteriores en el mismo índice devuelvan -EBUSY, lo que podría llevar a desreferencias de puntero NULL.\n\nReordenar las operaciones según lo sugerido por Przemek Kitszel:\n1. Comprobar si el adaptador ya existe (xa_load)\n2. Reservar la ranura XArray (xa_reserve)\n3. Asignar el adaptador (ice_adapter_new)\n4. Almacenar el adaptador (xa_store)"
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/net/ethernet/intel/ice/ice_adapter.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "0f0023c649c7bc50543fbe6e1801eb6357b8bd63",
              "lessThan": "7b9269de9815fc34d93dab90bd5169bacbe78e70",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0f0023c649c7bc50543fbe6e1801eb6357b8bd63",
              "lessThan": "794abb265de3e792167fe3ea0440c064c722bb84",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0f0023c649c7bc50543fbe6e1801eb6357b8bd63",
              "lessThan": "2db687f3469dbc5c59bc53d55acafd75d530b497",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/net/ethernet/intel/ice/ice_adapter.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.11",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.11",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.54",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.4",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2db687f3469dbc5c59bc53d55acafd75d530b497",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/794abb265de3e792167fe3ea0440c064c722bb84",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7b9269de9815fc34d93dab90bd5169bacbe78e70",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}