Executive brief
The Linux kernel's s390 zcrypt device driver copies cryptographic messages from user space to kernel buffers but fails to initialize padding bytes when the message length is not 4-byte aligned. These uninitialized kernel memory bytes are forwarded to crypto card firmware, potentially exposing sensitive kernel data such as cryptographic keys or other confidential information to unauthorized parties.
Technical details
The vulnerability is an information disclosure (CWE-665) in the s390/zcrypt driver's message handling functions `xcrb_msg_to_type6cprb_msgx()` and `xcrb_msg_to_type6_ep11cprb_msgx()`. These functions copy user-space messages into a kernel buffer based on user-supplied message length, but the kernel processes these messages as 4-byte length-aligned structures. Up to 3 bytes of uninitialized kernel memory between the actual message boundary and the 4-byte aligned buffer size are leaked to the cryptographic hardware firmware without being zeroed. An authenticated local attacker with access to the zcrypt device can trigger this leak by submitting specially crafted CCA or EP11 messages. The fix (merged August 2026) adds explicit memset() calls to zero-pad the gap between copied message data and the buffer boundary.
Affected products
- Linux Linux kernel 7.1 and later (s390 architecture)
Timeline
- 2026-08-26: disclosed: CVE-2026-80543 published
- 2026-08-05: patched: Upstream patch merged by Vasily Gorbik
- 2026-08-23: patched: Patch backported to stable kernel branches