CVE-2026-31719 PUBLISHED

crypto: krb5enc - fix async decrypt skipping hash verification

Assigner: Linux
Reserved: 09.03.2026 Published: 01.05.2026 Updated: 01.05.2026

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

crypto: krb5enc - fix async decrypt skipping hash verification

krb5enc_dispatch_decrypt() sets req->base.complete as the skcipher callback, which is the caller's own completion handler. When the skcipher completes asynchronously, this signals "done" to the caller without executing krb5enc_dispatch_decrypt_hash(), completely bypassing the integrity verification (hash check).

Compare with the encrypt path which correctly uses krb5enc_encrypt_done as an intermediate callback to chain into the hash computation on async completion.

Fix by adding krb5enc_decrypt_done as an intermediate callback that chains into krb5enc_dispatch_decrypt_hash() upon async skcipher completion, matching the encrypt path's callback pattern.

Also fix EBUSY/EINPROGRESS handling throughout: remove krb5enc_request_complete() which incorrectly swallowed EINPROGRESS notifications that must be passed up to callers waiting on backlogged requests, and add missing EBUSY checks in krb5enc_encrypt_ahash_done for the dispatch_encrypt return value.

Unset MAY_BACKLOG on the async completion path so the user won't see back-to-back EINPROGRESS notifications.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from d1775a177f7f38156d541c8a3e3c91eaa6e69699 to 07cbb1bd424370671814a862913c99a6e1441588 (excl.)
  • affected from d1775a177f7f38156d541c8a3e3c91eaa6e69699 to e51f42114abbdf47f29dda43e7826be28907fcd2 (excl.)
  • affected from d1775a177f7f38156d541c8a3e3c91eaa6e69699 to 3bfbf5f0a99c991769ec562721285df7ab69240b (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.15 is affected
  • unaffected from 0 to 6.15 (excl.)
  • unaffected from 6.18.25 to 6.18.* (incl.)
  • unaffected from 7.0.2 to 7.0.* (incl.)
  • unaffected from 7.1-rc1 to * (incl.)

References