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

CVE-2026-80545 (GCVE-0-2026-80545)

Vulnerability from cvelistv5 – Published: 2026-08-26 14:37 – Updated: 2026-08-27 05:01
VLAI
Title
s390/zcrypt: Improve EP11 CPRB length and overflow checks
Summary
In the Linux kernel, the following vulnerability has been resolved: s390/zcrypt: Improve EP11 CPRB length and overflow checks The xcrb_msg_to_type6_ep11cprb_msgx() function lacks proper input validation, creating security vulnerabilities: 1. Missing minimum size validation: The ep11_cprb structure and subsequent payload fields (pld_tag, pld_lenfmt) are copied from userspace without verifying sufficient buffer length. 2. Arithmetic overflow in length calculations: CEIL4 alignment could overflow, bypassing size checks and enabling buffer overflows. 3. The payload is asn1 encoded but the function just uses a simple c struct overlay to access some fields of the payload. Fix by using size_t for length calculations, adding U32_MAX boundary checks after alignment, and validating minimum request size and minimum reply size before copying from userspace. Do a very simple asn1 parsing of the payload up to the function value field.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: e2c6d91eb8b1533753755f07803e47eceed263d0 , < 2976b9d2e716c7e5487ca7c29a7bd076cf9adf08 (git)
Affected: e2c6d91eb8b1533753755f07803e47eceed263d0 , < 17ac0bc866fc624cd05f022dcd8b730c0af11bb1 (git)
guessed Create a notification for this product.
Linux Linux Affected: 7.1
Unaffected: 0 , < 7.1 (semver)
Unaffected: 7.1.10 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (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/s390/crypto/zcrypt_msgtype6.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "2976b9d2e716c7e5487ca7c29a7bd076cf9adf08",
              "status": "affected",
              "version": "e2c6d91eb8b1533753755f07803e47eceed263d0",
              "versionType": "git"
            },
            {
              "lessThan": "17ac0bc866fc624cd05f022dcd8b730c0af11bb1",
              "status": "affected",
              "version": "e2c6d91eb8b1533753755f07803e47eceed263d0",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/s390/crypto/zcrypt_msgtype6.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "lessThan": "7.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.10",
              "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": "7.1.10",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ns390/zcrypt: Improve EP11 CPRB length and overflow checks\n\nThe xcrb_msg_to_type6_ep11cprb_msgx() function lacks proper input\nvalidation, creating security vulnerabilities:\n1. Missing minimum size validation: The ep11_cprb structure and\n   subsequent payload fields (pld_tag, pld_lenfmt) are copied from\n   userspace without verifying sufficient buffer length.\n2. Arithmetic overflow in length calculations: CEIL4 alignment could\n   overflow, bypassing size checks and enabling buffer overflows.\n3. The payload is asn1 encoded but the function just uses a simple c\n   struct overlay to access some fields of the payload.\n\nFix by using size_t for length calculations, adding U32_MAX boundary\nchecks after alignment, and validating minimum request size and\nminimum reply size before copying from userspace. Do a very simple\nasn1 parsing of the payload up to the function value field."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The flaw is reached only via local ioctl(ZSENDEP11CPRB) on /dev/z90crypt or administrator-created zcdn device nodes on IBM Z systems with EP11 crypto hardware; there is no network, Bluetooth, or USB packet path to this code.\nAC:L - The attacker fully controls ep11_urb req_len, req, and resp_len in the ioctl argument; near-SIZE_MAX lengths can wrap CEIL4 sum checks to bypass bufsize validation and trigger deterministic heap corruption without races or external timing dependencies.\nPR:L - Exploitation requires opening a zcrypt device and passing zcrypt_check_ioctl, access routinely delegated to non-root application/service accounts via zcdn nodes on shared IBM Z cloud, LPAR, and container deployments that grant EP11 CPRB ioctl permissions.\nUI:N - Triggering is self-contained by submitting a crafted EP11 request block through ioctl; no victim interaction, file opening by another user, or administrative action beyond having zcrypt device access is required.\nS:U - Impact is kernel heap corruption and privilege escalation within the same Linux security authority on the s390 host; it does not cross VM, IOMMU, or container sandbox boundaries to affect a separate security domain.\nC:H - Undersized copies leave uninitialized kmalloc data readable via struct overlays on pld_lenfmt and payload_hdr, while integer-overflowed req_len values enable copy_from_user far beyond the ap_msg buffer, providing arbitrary kernel memory disclosure primitives.\nI:H - Missing minimum-size and U32_MAX boundary checks let attacker-controlled lengths bypass ap_msg-\u003elen validation and corrupt adjacent kmalloc objects in the crypto message buffer, enabling heap control primitives and potential arbitrary kernel code execution.\nA:H - Heap buffer overflow and out-of-bounds parsing of EP11 CPRB payloads can cause kernel oops, panic, or denial of crypto services on mission-critical IBM Z systems; memory corruption alone threatens host availability even before full exploitation."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-27T05:01:32.688Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/2976b9d2e716c7e5487ca7c29a7bd076cf9adf08"
        },
        {
          "url": "https://git.kernel.org/stable/c/17ac0bc866fc624cd05f022dcd8b730c0af11bb1"
        }
      ],
      "title": "s390/zcrypt: Improve EP11 CPRB length and overflow checks",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80545",
    "datePublished": "2026-08-26T14:37:16.956Z",
    "dateReserved": "2026-08-26T14:34:25.765Z",
    "dateUpdated": "2026-08-27T05:01:32.688Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80545",
      "date": "2026-09-16",
      "epss": "0.00136",
      "percentile": "0.03406"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-80545\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-26T15:17:08.870\",\"lastModified\":\"2026-08-27T06:17:35.780\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ns390/zcrypt: Improve EP11 CPRB length and overflow checks\\n\\nThe xcrb_msg_to_type6_ep11cprb_msgx() function lacks proper input\\nvalidation, creating security vulnerabilities:\\n1. Missing minimum size validation: The ep11_cprb structure and\\n   subsequent payload fields (pld_tag, pld_lenfmt) are copied from\\n   userspace without verifying sufficient buffer length.\\n2. Arithmetic overflow in length calculations: CEIL4 alignment could\\n   overflow, bypassing size checks and enabling buffer overflows.\\n3. The payload is asn1 encoded but the function just uses a simple c\\n   struct overlay to access some fields of the payload.\\n\\nFix by using size_t for length calculations, adding U32_MAX boundary\\nchecks after alignment, and validating minimum request size and\\nminimum reply size before copying from userspace. Do a very simple\\nasn1 parsing of the payload up to the function value field.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/s390/crypto/zcrypt_msgtype6.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"e2c6d91eb8b1533753755f07803e47eceed263d0\",\"lessThan\":\"2976b9d2e716c7e5487ca7c29a7bd076cf9adf08\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"e2c6d91eb8b1533753755f07803e47eceed263d0\",\"lessThan\":\"17ac0bc866fc624cd05f022dcd8b730c0af11bb1\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/s390/crypto/zcrypt_msgtype6.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"7.1\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"7.1\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.10\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/17ac0bc866fc624cd05f022dcd8b730c0af11bb1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2976b9d2e716c7e5487ca7c29a7bd076cf9adf08\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-27T08:11:47+00:00",
      "cve": "CVE-2026-80545",
      "id": "CVE-2026-80545",
      "initial_release_date": "2026-08-26T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: s390/zcrypt: Improve EP11 CPRB length and overflow checks",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80545.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-01T00:50:15Z",
      "cve": "CVE-2026-80545",
      "id": "CVE-2026-80545",
      "initial_release_date": "2026-08-31T13:28:41Z",
      "product_status:known_not_affected": "353",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80545",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80545.json",
      "version": "3"
    }
  }
}



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…