CVE-2026-23220

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix infinite loop caused by next_smb2_rcv_hdr_off reset in error paths The problem occurs when a signed request fails smb2 signature verification check. In __process_request(), if check_sign_req() returns an error, set_smb2_rsp_status(work, STATUS_ACCESS_DENIED) is called. set_smb2_rsp_status() set work->next_smb2_rcv_hdr_off as zero. By resetting next_smb2_rcv_hdr_off to zero, the pointer to the next command in the chain is lost. Consequently, is_chained_smb2_message() continues to point to the same request header instead of advancing. If the header's NextCommand field is non-zero, the function returns true, causing __handle_ksmbd_work() to repeatedly process the same failed request in an infinite loop. This results in the kernel log being flooded with "bad smb2 signature" messages and high CPU usage. This patch fixes the issue by changing the return value from SERVER_HANDLER_CONTINUE to SERVER_HANDLER_ABORT. This ensures that the processing loop terminates immediately rather than attempting to continue from an invalidated offset.
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:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc7:*:*:*:*:*:*

History

18 Mar 2026, 14:52

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:6.6:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE CWE-835
First Time Linux
Linux linux Kernel
References () https://git.kernel.org/stable/c/010eb01ce23b34b50531448b0da391c7f05a72af - () https://git.kernel.org/stable/c/010eb01ce23b34b50531448b0da391c7f05a72af - Patch
References () https://git.kernel.org/stable/c/5accdc5b7f28a81bbc5880ac0b8886e60c86e8c8 - () https://git.kernel.org/stable/c/5accdc5b7f28a81bbc5880ac0b8886e60c86e8c8 - Patch
References () https://git.kernel.org/stable/c/71b5e7c528315ca360a1825a4ad2f8ae48c5dc16 - () https://git.kernel.org/stable/c/71b5e7c528315ca360a1825a4ad2f8ae48c5dc16 - Patch
References () https://git.kernel.org/stable/c/9135e791ec2709bcf0cda0335535c74762489498 - () https://git.kernel.org/stable/c/9135e791ec2709bcf0cda0335535c74762489498 - Patch
References () https://git.kernel.org/stable/c/f7b1c2f5642bbd60b1beef1f3298cbac81eb232c - () https://git.kernel.org/stable/c/f7b1c2f5642bbd60b1beef1f3298cbac81eb232c - Patch
References () https://git.kernel.org/stable/c/fb3b66bd72deb5543addaefa67963b34fb163a7b - () https://git.kernel.org/stable/c/fb3b66bd72deb5543addaefa67963b34fb163a7b - Patch

23 Feb 2026, 04:16

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/010eb01ce23b34b50531448b0da391c7f05a72af -
Summary
  • (es) Se ha resuelto la siguiente vulnerabilidad en el kernel de Linux: ksmbd: corrige un bucle infinito causado por el reinicio de next_smb2_rcv_hdr_off en las rutas de error El problema ocurre cuando una solicitud firmada falla la verificación de firma smb2. En __process_request(), si check_sign_req() devuelve un error, se llama a set_smb2_rsp_status(work, STATUS_ACCESS_DENIED). set_smb2_rsp_status() establece work->next_smb2_rcv_hdr_off a cero. Al reiniciar next_smb2_rcv_hdr_off a cero, el puntero al siguiente comando en la cadena se pierde. En consecuencia, is_chained_smb2_message() continúa apuntando a la misma cabecera de solicitud en lugar de avanzar. Si el campo NextCommand de la cabecera no es cero, la función devuelve verdadero, lo que hace que __handle_ksmbd_work() procese repetidamente la misma solicitud fallida en un bucle infinito. Esto resulta en el registro del kernel siendo inundado con mensajes de 'firma smb2 incorrecta' y un alto uso de CPU. Este parche corrige el problema cambiando el valor de retorno de SERVER_HANDLER_CONTINUE a SERVER_HANDLER_ABORT. Esto asegura que el bucle de procesamiento termine inmediatamente en lugar de intentar continuar desde un desplazamiento invalidado.

19 Feb 2026, 16:27

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/fb3b66bd72deb5543addaefa67963b34fb163a7b -

18 Feb 2026, 16:22

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-18 16:22

Updated : 2026-03-18 14:52


NVD link : CVE-2026-23220

Mitre link : CVE-2026-23220

CVE.ORG link : CVE-2026-23220


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-835

Loop with Unreachable Exit Condition ('Infinite Loop')