CVE-2026-31719

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*

History

11 Nov 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: cripto: krb5enc - corrige el descifrado asíncrono que omite la verificación de hash krb5enc_dispatch_decrypt() establece req -> base.complete como la devolución de llamada de skcipher, que es el propio gestor de finalización del llamador. Cuando el skcipher finaliza asíncronamente, esto señala ’hecho’ al llamador sin ejecutar krb5enc_dispatch_decrypt_hash(), omitiendo completamente la verificación de integridad (comprobación de hash). Comparar con la ruta de cifrado que utiliza correctamente krb5enc_encrypt_done como una devolución de llamada intermedia para encadenar en el cálculo de hash en la finalización asíncrona. Solución añadiendo krb5enc_decrypt_done como una devolución de llamada intermedia que encadena en krb5enc_dispatch_decrypt_hash() tras la finalización asíncrona de skcipher, coincidiendo con el patrón de devolución de llamada de la ruta de cifrado. También corrige el manejo de EBUSY/EINPROGRESS en todo el código: elimina krb5enc_request_complete() que incorrectamente ’tragaba’ las notificaciones de EINPROGRESS que deben pasarse a los llamadores que esperan solicitudes en cola, y añade comprobaciones de EBUSY faltantes en krb5enc_encrypt_ahash_done para el valor de retorno de dispatch_encrypt. Desestablece MAY_BACKLOG en la ruta de finalización asíncrona para que el usuario no vea notificaciones de EINPROGRESS consecutivas.

19 Oct 2026, 20:17

Type Values Removed Values Added
CWE CWE-354

Information

Published : 2026-05-01 14:16

Updated : 2026-11-11 21:10


NVD link : CVE-2026-31719

Mitre link : CVE-2026-31719

CVE.ORG link : CVE-2026-31719


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
NVD-CWE-noinfo CWE-354

Improper Validation of Integrity Check Value