CVE-2026-45900 (GCVE-0-2026-45900)

Vulnerability from cvelistv5 – Published: 2026-05-27 12:17 – Updated: 2026-05-27 12:17
VLAI
Title
crypto: caam - fix netdev memory leak in dpaa2_caam_probe
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.
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 0e1a4d427f58b843864d835ccb79c32a118c6a77 , < d5c6f254528caf78d5de7d9646dc21c81d351827 (git)
Affected: 0e1a4d427f58b843864d835ccb79c32a118c6a77 , < d7decb572b55d2af33e59e9858fcee5d9ae69175 (git)
Affected: 0e1a4d427f58b843864d835ccb79c32a118c6a77 , < e144cce29851610ce9c6eda405ce21118779aa51 (git)
Affected: 0e1a4d427f58b843864d835ccb79c32a118c6a77 , < 7d43252b3060b0ba4a192dce5dba85a3f39ffe39 (git)
Create a notification for this product.
Linux Linux Affected: 6.11
Unaffected: 0 , < 6.11 (semver)
Unaffected: 6.12.75 , ≤ 6.12.* (semver)
Unaffected: 6.18.14 , ≤ 6.18.* (semver)
Unaffected: 6.19.4 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (original_commit_for_fix)
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",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-45900",
      "date": "2026-05-29",
      "epss": "0.00018",
      "percentile": "0.04919"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-45900\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-27T14:17:04.360\",\"lastModified\":\"2026-05-27T14:48:31.480\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"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.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/7d43252b3060b0ba4a192dce5dba85a3f39ffe39\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d5c6f254528caf78d5de7d9646dc21c81d351827\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d7decb572b55d2af33e59e9858fcee5d9ae69175\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e144cce29851610ce9c6eda405ce21118779aa51\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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…