HIGH Introduced in 7.1
zcrypt Ep11Cprb OOB
CVE-2026-80544
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.0MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: s390/zcrypt: Improve EP11 CPRB domain handling with ASN.1 parsing The zcrypt_msgtype6_send_ep11_cprb() function uses fragile struct overlays to access and modify the domain field in the EP11 CPRB payload, creating maintainability and security concerns: 1. Struct overlay approach (pld_hdr) assumes fixed payload structure and doesn't validate the actual ASN.1 encoding. 2. Complex length format detection logic is error-prone and doesn't properly validate bounds at each parsing step. 3. Direct struct member access bypasses proper ASN.1 validation. Fix by replacing struct overlays with explicit ASN.1 parsing that validates each field (payload tag/length, function tag/length/value, optional domain tag/length/value) with proper bounds checking at every step. Add asn1_int_encode() helper function to safely write integer values with correct endianness conversion. This makes the code consistent with the validation pattern introduced with the rework of the xcrb_msg_to_type6_ep11cprb_msgx() function.
02KernelScan AI Analysis
Risk summary
The zcrypt EP11 CPRB domain handling code used fragile struct overlays to access and modify the domain field in the EP11 CPRB payload without proper ASN.1 validation. A local user with access to the zcrypt device could trigger out-of-bounds reads or writes by supplying a malformed payload, leading to memory corruption or denial of service. This affects s390 systems with EP11 cryptographic coprocessor support.
Vulnerability analysis
The EP11 CPRB send function used struct overlays to directly access and modify the domain field within the ASN.1-encoded payload, assuming a fixed structure without validating the actual encoding or checking bounds at each parsing step. A local user with access to the zcrypt interface could supply a crafted payload with unexpected ASN.1 length encodings, causing the code to compute incorrect offsets and write the domain value out of bounds. The fix replaces the struct overlay approach with explicit ASN.1 parsing that validates each field (payload tag/length, function tag/length/value, optional domain tag/length/value) with bounds checking at every step, and adds a helper to safely encode integer values with correct endianness. This vulnerability is reachable from a local process with access to the s390 zcrypt cryptographic device driver on systems equipped with EP11 coprocessor hardware.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 6.12.114 | 6.13 | 00a44ff06bcf |
| 7.1 | 7.1 | 7.1.10 | db21b2cf6dd0 |
| mainline | 7.1 | 7.2 | 0864a163783b |