CVE-2026-97590: s390/crypto: Fix missing scrub of temp buffers with PAES algorithm
In the Linux kernel, the following vulnerability has been resolved:
s390/crypto: Fix missing scrub of temp buffers with PAES algorithm
In function ctrpaesdocrypt() there is a buffer used to process remaining bytes < AESBLOCKSIZE. This buffer was not scrubbed and thus could lead to expose of unwanted data. Rework the code to explicitly scrub the buffer at the end of the function to avoid exposure of maybe sensitive data.
In function xts2keysprepparam() change the existing scrub to clean the whole param block instead of just the key field.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In __xts_2keys_prep_param(), change the existing scrub to clean the whole parameter block instead of only the key field.
- Compensating control
In ctr_paes_do_crypt(), explicitly scrub the temporary buffer used for processing at the end of the function, including remaining bytes smaller than AES_BLOCK_SIZE.
Event History
Frequently Asked Questions
Which systems are realistically exposed to this issue?
The affected code is in the Linux kernel s390 cryptographic implementation and specifically involves the PAES algorithm. Systems that do not use this s390/crypto PAES code are not identified by the provided data as exposed.
What data could be exposed?
A temporary buffer used by ctr_paes_do_crypt() to process remaining data shorter than an AES block was not scrubbed, potentially leaving sensitive data available after use. The XTS two-key parameter preparation path also previously scrubbed only the key field rather than the entire parameter block.
What remediation is described?
The fix explicitly scrubs the temporary buffer at the end of ctr_paes_do_crypt() and clears the entire parameter block in __xts_2keys_prep_param(). The provided references point to the corresponding stable kernel commits.