CVE-2026-97506 (GCVE-0-2026-97506)
Vulnerability from cvelistv5
Published
2026-09-24 16:04
Modified
2026-10-03 10:59
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: ixp4xx - fix buffer chain unwind on allocation failure chainup_buffers() builds a linked list of buffer descriptors for a scatterlist. If dma_pool_alloc() fails while constructing the list, the current code sets buf to NULL and later dereferences it unconditionally at the end of the function: buf->next = NULL; buf->phys_next = 0; This can lead to a null-pointer dereference on allocation failure. If the failure happens after part of the descriptor chain has already been allocated and DMA-mapped, the partially constructed chain also needs to be released. Fix this by terminating the partially constructed chain on allocation failure and letting the callers unwind it via their existing cleanup paths. Also fix ablk_perform() to preserve the hook pointers before checking for failure, so partially built chains can be freed correctly.
Impacted products
Vendor Product Version
Linux Linux Version: 0d44dc59b2b434b29aafeae581d06f81efac7c83
Version: 0d44dc59b2b434b29aafeae581d06f81efac7c83
Version: 0d44dc59b2b434b29aafeae581d06f81efac7c83
Version: 0d44dc59b2b434b29aafeae581d06f81efac7c83
Version: 0d44dc59b2b434b29aafeae581d06f81efac7c83
Version: 0d44dc59b2b434b29aafeae581d06f81efac7c83
Version: 5a80273150a8a1725fa70418d106eb1f2ee8fd2f
Version: 82a8becb9c2c52fc5e67057a43aeded1f0731e7b
Version: 68845515c8b11791b547a2838e22c27dfa3115ee
Version: 2.6.27.22   ≤
Version: 2.6.28.10   ≤
Version: 2.6.29.3   ≤
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d4007867be42d71795b78fa7f8ce7514dda9ca83",
              "status": "affected",
              "version": "0d44dc59b2b434b29aafeae581d06f81efac7c83",
              "versionType": "git"
            },
            {
              "lessThan": "4918b0bd7d2baafb45d87dca9e322137c96005c2",
              "status": "affected",
              "version": "0d44dc59b2b434b29aafeae581d06f81efac7c83",
              "versionType": "git"
            },
            {
              "lessThan": "8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991",
              "status": "affected",
              "version": "0d44dc59b2b434b29aafeae581d06f81efac7c83",
              "versionType": "git"
            },
            {
              "lessThan": "04cb00106ca4d0fa9eca24cadc4eda6036e855c8",
              "status": "affected",
              "version": "0d44dc59b2b434b29aafeae581d06f81efac7c83",
              "versionType": "git"
            },
            {
              "lessThan": "028a7f4f3d69e551f6bf9f728d547bbf4cfc707d",
              "status": "affected",
              "version": "0d44dc59b2b434b29aafeae581d06f81efac7c83",
              "versionType": "git"
            },
            {
              "lessThan": "25056329384010a8672552b134f609601dc4f80e",
              "status": "affected",
              "version": "0d44dc59b2b434b29aafeae581d06f81efac7c83",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5a80273150a8a1725fa70418d106eb1f2ee8fd2f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "82a8becb9c2c52fc5e67057a43aeded1f0731e7b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "68845515c8b11791b547a2838e22c27dfa3115ee",
              "versionType": "git"
            },
            {
              "lessThan": "2.6.28",
              "status": "affected",
              "version": "2.6.27.22",
              "versionType": "semver"
            },
            {
              "lessThan": "2.6.29",
              "status": "affected",
              "version": "2.6.28.10",
              "versionType": "semver"
            },
            {
              "lessThan": "2.6.30",
              "status": "affected",
              "version": "2.6.29.3",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.30"
            },
            {
              "lessThan": "2.6.30",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.222",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.189",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.111",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.53",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.222",
                  "versionStartIncluding": "2.6.30",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.189",
                  "versionStartIncluding": "2.6.30",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "2.6.30",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.111",
                  "versionStartIncluding": "2.6.30",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.53",
                  "versionStartIncluding": "2.6.30",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "2.6.30",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "2.6.27.22",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "2.6.28.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "2.6.29.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: ixp4xx - fix buffer chain unwind on allocation failure\n\nchainup_buffers() builds a linked list of buffer descriptors for a\nscatterlist. If dma_pool_alloc() fails while constructing the list, the\ncurrent code sets buf to NULL and later dereferences it unconditionally\nat the end of the function:\n\n  buf-\u003enext = NULL;\n  buf-\u003ephys_next = 0;\n\nThis can lead to a null-pointer dereference on allocation failure.\n\nIf the failure happens after part of the descriptor chain has already\nbeen allocated and DMA-mapped, the partially constructed chain also\nneeds to be released.\n\nFix this by terminating the partially constructed chain on allocation\nfailure and letting the callers unwind it via their existing cleanup\npaths. Also fix ablk_perform() to preserve the hook pointers before\nchecking for failure, so partially built chains can be freed correctly."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-03T10:59:03.858Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d4007867be42d71795b78fa7f8ce7514dda9ca83"
        },
        {
          "url": "https://git.kernel.org/stable/c/4918b0bd7d2baafb45d87dca9e322137c96005c2"
        },
        {
          "url": "https://git.kernel.org/stable/c/8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991"
        },
        {
          "url": "https://git.kernel.org/stable/c/04cb00106ca4d0fa9eca24cadc4eda6036e855c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/028a7f4f3d69e551f6bf9f728d547bbf4cfc707d"
        },
        {
          "url": "https://git.kernel.org/stable/c/25056329384010a8672552b134f609601dc4f80e"
        }
      ],
      "title": "crypto: ixp4xx - fix buffer chain unwind on allocation failure",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-97506",
    "datePublished": "2026-09-24T16:04:55.504Z",
    "dateReserved": "2026-09-24T16:01:01.151Z",
    "dateUpdated": "2026-10-03T10:59:03.858Z",
    "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…