GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-80956 (GCVE-0-2026-80956)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:42 – Updated: 2026-09-11 19:42
VLAI
Title
dm-pcache: only hand out initialized cache segments
Summary
In the Linux kernel, the following vulnerability has been resolved: dm-pcache: only hand out initialized cache segments get_cache_segment() scans the segment map up to cache->n_segs, the physical device segment count, but cache_segs_init() only initializes the first cache_info->n_segs segments. A crafted image with cache_info->n_segs smaller than the device count leaves the remaining pcache_cache_segment structs zeroed (segment.data == NULL), and the allocator can hand one to cache_kset_close(), which writes through the returned segment's data pointer with no NULL check. Bound the allocator's search to cache_info->n_segs so only initialized segments are ever returned. A conforming cache sets n_segs equal to the device segment count, so this rejects nothing legitimate.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 , < 83e3116283ed2c6a6a1fa662862a4b4d7d2701a2 (git)
Affected: 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 , < 692037ae1a7cfacc2f0c22c6e034c1dfee0e553f (git)
Affected: 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 , < 2df0fc042e299bae3c0f60ea5cd2af9285658e9f (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 7.2.4 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/md/dm-pcache/cache_segment.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "83e3116283ed2c6a6a1fa662862a4b4d7d2701a2",
              "status": "affected",
              "version": "1d57628ff95b32d5cfa8d8f50e07690c161e9cf0",
              "versionType": "git"
            },
            {
              "lessThan": "692037ae1a7cfacc2f0c22c6e034c1dfee0e553f",
              "status": "affected",
              "version": "1d57628ff95b32d5cfa8d8f50e07690c161e9cf0",
              "versionType": "git"
            },
            {
              "lessThan": "2df0fc042e299bae3c0f60ea5cd2af9285658e9f",
              "status": "affected",
              "version": "1d57628ff95b32d5cfa8d8f50e07690c161e9cf0",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/md/dm-pcache/cache_segment.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm-pcache: only hand out initialized cache segments\n\nget_cache_segment() scans the segment map up to cache-\u003en_segs, the\nphysical device segment count, but cache_segs_init() only initializes\nthe first cache_info-\u003en_segs segments. A crafted image with\ncache_info-\u003en_segs smaller than the device count leaves the remaining\npcache_cache_segment structs zeroed (segment.data == NULL), and the\nallocator can hand one to cache_kset_close(), which writes through the\nreturned segment\u0027s data pointer with no NULL check.\n\nBound the allocator\u0027s search to cache_info-\u003en_segs so only initialized\nsegments are ever returned. A conforming cache sets n_segs equal to the\ndevice segment count, so this rejects nothing legitimate."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-11T19:42:24.541Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/83e3116283ed2c6a6a1fa662862a4b4d7d2701a2"
        },
        {
          "url": "https://git.kernel.org/stable/c/692037ae1a7cfacc2f0c22c6e034c1dfee0e553f"
        },
        {
          "url": "https://git.kernel.org/stable/c/2df0fc042e299bae3c0f60ea5cd2af9285658e9f"
        }
      ],
      "title": "dm-pcache: only hand out initialized cache segments",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80956",
    "datePublished": "2026-09-11T19:42:24.541Z",
    "dateReserved": "2026-08-26T14:34:25.804Z",
    "dateUpdated": "2026-09-11T19:42:24.541Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80956",
      "date": "2026-09-18",
      "epss": "0.00198",
      "percentile": "0.09863"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/md/dm-pcache/cache_segment.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "83e3116283ed2c6a6a1fa662862a4b4d7d2701a2",
                    "status": "affected",
                    "version": "1d57628ff95b32d5cfa8d8f50e07690c161e9cf0",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "692037ae1a7cfacc2f0c22c6e034c1dfee0e553f",
                    "status": "affected",
                    "version": "1d57628ff95b32d5cfa8d8f50e07690c161e9cf0",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2df0fc042e299bae3c0f60ea5cd2af9285658e9f",
                    "status": "affected",
                    "version": "1d57628ff95b32d5cfa8d8f50e07690c161e9cf0",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/md/dm-pcache/cache_segment.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.18"
                  },
                  {
                    "lessThan": "6.18",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm-pcache: only hand out initialized cache segments\n\nget_cache_segment() scans the segment map up to cache-\u003en_segs, the\nphysical device segment count, but cache_segs_init() only initializes\nthe first cache_info-\u003en_segs segments. A crafted image with\ncache_info-\u003en_segs smaller than the device count leaves the remaining\npcache_cache_segment structs zeroed (segment.data == NULL), and the\nallocator can hand one to cache_kset_close(), which writes through the\nreturned segment\u0027s data pointer with no NULL check.\n\nBound the allocator\u0027s search to cache_info-\u003en_segs so only initialized\nsegments are ever returned. A conforming cache sets n_segs equal to the\ndevice segment count, so this rejects nothing legitimate."
          }
        ],
        "id": "CVE-2026-80956",
        "lastModified": "2026-09-11T20:19:01.410",
        "metrics": {},
        "published": "2026-09-11T20:19:01.410",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2df0fc042e299bae3c0f60ea5cd2af9285658e9f"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/692037ae1a7cfacc2f0c22c6e034c1dfee0e553f"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/83e3116283ed2c6a6a1fa662862a4b4d7d2701a2"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-14T17:36:15+00:00",
      "cve": "CVE-2026-80956",
      "id": "CVE-2026-80956",
      "initial_release_date": "2026-09-11T00:00:00+00:00",
      "product_status:known_not_affected": "276",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: dm-pcache: only hand out initialized cache segments",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80956.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:05:31Z",
      "cve": "CVE-2026-80956",
      "id": "CVE-2026-80956",
      "initial_release_date": "2026-09-12T16:36:58Z",
      "product_status:known_not_affected": "353",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80956",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80956.json",
      "version": "4"
    }
  }
}



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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…