CVE Catalog

CVE-2026-97589

HighCVSS 7.0
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, the s390/crypto subsystem returns an incorrect code in asynchronous crypto engine callbacks. When crypto_finalize_hash_request() or crypto_finalize_skcipher_request() explicitly completes a request, the do_one_request callback must return 0; returning a negative error code causes a double completion.

Risk Assessment

Double completion may lead to memory corruption, kernel crash, or undefined behavior in PAES and PHMAC cryptographic operations.

Recommendation

Update the Linux kernel to a version containing the fix that returns 0 after explicit finalization in phmac_do_one_request() and the four paes callbacks (ecb, cbc, ctr, xts).

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: s390/crypto: Fix wrong return code to engine in asynch callbacks When crypto_finalize_hash_request() or crypto_finalize_skcipher_request() explicitly completes a request, the do_one_request callback must return 0 to indicate successful handling. Returning a negative error code causes the crypto engine to assume the driver failed to take ownership and triggers a second completion via crypto_request_complete(), resulting in a double completion. This pattern occurs in paes_s390.c 4 times and once in phmac_s390.c. Fixed in phmac_do_one_request() and all four paes do_one_request callbacks (ecb, cbc, ctr, xts) by returning 0 after explicit finalization instead of propagating the error code.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS