CVE-2026-45900 (GCVE-0-2026-45900)
Vulnerability from cvelistv5
Published
2026-05-27 12:17
Modified
2026-05-27 12:17
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: caam - fix netdev memory leak in dpaa2_caam_probe When commit 0e1a4d427f58 ("crypto: caam: Unembed net_dev structure in dpaa2") converted embedded net_device to dynamically allocated pointers, it added cleanup in dpaa2_dpseci_disable() but missed adding cleanup in dpaa2_dpseci_free() for error paths. This causes memory leaks when dpaa2_dpseci_dpio_setup() fails during probe due to DPIO devices not being ready yet. The kernel's deferred probe mechanism handles the retry successfully, but the netdevs allocated during the failed probe attempt are never freed, resulting in kmemleak reports showing multiple leaked netdev-related allocations all traced back to dpaa2_caam_probe(). Fix this by preserving the CPU mask of allocated netdevs during setup and using it for cleanup in dpaa2_dpseci_free(). This approach ensures that only the CPUs that actually had netdevs allocated will be cleaned up, avoiding potential issues with CPU hotplug scenarios.
Impacted products
Vendor Product Version
Linux Linux Version: 0e1a4d427f58b843864d835ccb79c32a118c6a77
Version: 0e1a4d427f58b843864d835ccb79c32a118c6a77
Version: 0e1a4d427f58b843864d835ccb79c32a118c6a77
Version: 0e1a4d427f58b843864d835ccb79c32a118c6a77
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/caam/caamalg_qi2.c",
            "drivers/crypto/caam/caamalg_qi2.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d5c6f254528caf78d5de7d9646dc21c81d351827",
              "status": "affected",
              "version": "0e1a4d427f58b843864d835ccb79c32a118c6a77",
              "versionType": "git"
            },
            {
              "lessThan": "d7decb572b55d2af33e59e9858fcee5d9ae69175",
              "status": "affected",
              "version": "0e1a4d427f58b843864d835ccb79c32a118c6a77",
              "versionType": "git"
            },
            {
              "lessThan": "e144cce29851610ce9c6eda405ce21118779aa51",
              "status": "affected",
              "version": "0e1a4d427f58b843864d835ccb79c32a118c6a77",
              "versionType": "git"
            },
            {
              "lessThan": "7d43252b3060b0ba4a192dce5dba85a3f39ffe39",
              "status": "affected",
              "version": "0e1a4d427f58b843864d835ccb79c32a118c6a77",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/caam/caamalg_qi2.c",
            "drivers/crypto/caam/caamalg_qi2.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.11"
            },
            {
              "lessThan": "6.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.75",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.14",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.75",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.14",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.4",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: caam - fix netdev memory leak in dpaa2_caam_probe\n\nWhen commit 0e1a4d427f58 (\"crypto: caam: Unembed net_dev structure in\ndpaa2\") converted embedded net_device to dynamically allocated pointers,\nit added cleanup in dpaa2_dpseci_disable() but missed adding cleanup in\ndpaa2_dpseci_free() for error paths.\n\nThis causes memory leaks when dpaa2_dpseci_dpio_setup() fails during probe\ndue to DPIO devices not being ready yet. The kernel\u0027s deferred probe\nmechanism handles the retry successfully, but the netdevs allocated during\nthe failed probe attempt are never freed, resulting in kmemleak reports\nshowing multiple leaked netdev-related allocations all traced back to\ndpaa2_caam_probe().\n\nFix this by preserving the CPU mask of allocated netdevs during setup and\nusing it for cleanup in dpaa2_dpseci_free(). This approach ensures that\nonly the CPUs that actually had netdevs allocated will be cleaned up,\navoiding potential issues with CPU hotplug scenarios."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-27T12:17:09.109Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d5c6f254528caf78d5de7d9646dc21c81d351827"
        },
        {
          "url": "https://git.kernel.org/stable/c/d7decb572b55d2af33e59e9858fcee5d9ae69175"
        },
        {
          "url": "https://git.kernel.org/stable/c/e144cce29851610ce9c6eda405ce21118779aa51"
        },
        {
          "url": "https://git.kernel.org/stable/c/7d43252b3060b0ba4a192dce5dba85a3f39ffe39"
        }
      ],
      "title": "crypto: caam - fix netdev memory leak in dpaa2_caam_probe",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-45900",
    "datePublished": "2026-05-27T12:17:09.109Z",
    "dateReserved": "2026-05-13T15:03:33.083Z",
    "dateUpdated": "2026-05-27T12:17:09.109Z",
    "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…