CVE-2026-80546: s390/zcrypt: Improve CCA CPRB length and overflow checks

Published Aug 26, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

s390/zcrypt: Improve CCA CPRB length and overflow checks

The xcrbmsgtotype6cprbmsgx() function lacks proper input validation, creating security vulnerabilities: 1. Integer overflow after CEIL4 alignment: Signed int variables could overflow during 4-byte boundary alignment, causing undersized buffer allocations or incorrect bounds checking. 2. Missing minimum size validation: The CPRBX structure is copied from userspace without verifying sufficient buffer length. Undersized buffers cause uninitialized memory access when reading structure fields like cprbx.cprblen and cprbx.domain. 3. Arithmetic overflow in sum calculations: Adding control block and data block sizes could overflow, bypassing size checks and enabling buffer overflows.

Fix by using sizet for length calculations, adding U32MAX boundary checks after alignment, validating minimum control block size before copying from userspace, and detecting sum calculation overflows.

Affected Software

1 affected component
Linux Linux kernel

Event History

Aug 26, 2026
CVE Published
via MITRE·02:37 PM
Data Sourced
via MITRE·02:37 PM
Description
Data Sourced
via NVD·03:17 PM
Description

Frequently Asked Questions

1

What access is required to reach the vulnerable code path?

The affected function copies CPRB-related input from userspace, so exploitation requires the ability to submit crafted userspace requests that reach the s390 zcrypt CCA CPRB handling path.

2

What conditions make a crafted request dangerous?

Malformed inputs with an undersized CPRBX control block or length values that overflow during 4-byte alignment or control-block/data-block size addition can bypass intended bounds checks. This can result in uninitialized-memory access or buffer overflow conditions.

3

How can I determine whether the issue is addressed in my kernel?

Check whether your kernel includes the fixes referenced by commits 50fe5133dcb46449daf2435fa705264364411129 or 35ac6754ba6da45fd193f5ce3f665f7490b830d5. The corrected code uses size_t length calculations, validates minimum control-block size before copying from userspace, checks alignment against U32_MAX, and detects size-addition overflows.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203