Executive brief
The Linux kernel's s390/zcrypt cryptographic subsystem failed to clear sensitive key material from memory after processing certain key import operations. An attacker with access to the system could potentially recover clear-text encryption keys from freed memory buffers, compromising the confidentiality of encrypted data.
Technical details
The vulnerability exists in the zcrypt driver's clear-key-to-cipher-key conversion process (cca_clr2cipherkey() function). The internal buffer (_ip_cprb_helper()) used to build and process Cryptographic Request Protocol Blocks (CPRBs) was not being scrubbed after use, potentially leaving unencrypted key material in memory. An attacker able to access freed kernel memory (via memory disclosure vulnerabilities or privileged access) could recover sensitive key data. The fix adds explicit memory scrubbing using memzero_explicit() for both the EXOR buffer and CPRB buffer in the clear key import path, and introduces a 'scrub' parameter to allow callers to control whether buffers are sanitized.
Affected products
- Linux Linux Kernel Multiple versions (fix backported across stable series)
Timeline
- 2026-08-28: disclosed
- 2026-07-29: patched