lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [day] [month] [year] [list]
Message-ID: <2026021806-CVE-2026-23220-efda@gregkh>
Date: Wed, 18 Feb 2026 15:54:09 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2026-23220: ksmbd: fix infinite loop caused by next_smb2_rcv_hdr_off reset in error paths

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

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.

The Linux kernel CVE team has assigned CVE-2026-23220 to this issue.


Affected and fixed versions
===========================

	Fixed in 6.6.125 with commit 5accdc5b7f28a81bbc5880ac0b8886e60c86e8c8
	Fixed in 6.12.72 with commit f7b1c2f5642bbd60b1beef1f3298cbac81eb232c
	Fixed in 6.18.11 with commit 71b5e7c528315ca360a1825a4ad2f8ae48c5dc16
	Fixed in 6.19.1 with commit 9135e791ec2709bcf0cda0335535c74762489498

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-23220
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	fs/smb/server/server.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/5accdc5b7f28a81bbc5880ac0b8886e60c86e8c8
	https://git.kernel.org/stable/c/f7b1c2f5642bbd60b1beef1f3298cbac81eb232c
	https://git.kernel.org/stable/c/71b5e7c528315ca360a1825a4ad2f8ae48c5dc16
	https://git.kernel.org/stable/c/9135e791ec2709bcf0cda0335535c74762489498
	https://git.kernel.org/stable/c/010eb01ce23b34b50531448b0da391c7f05a72af

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ