Subject: CVE-2023-52618: block/rnbd-srv: Check for unlikely string overflow

From: Greg Kroah-Hartman <[email-masked]>

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

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

block/rnbd-srv: Check for unlikely string overflow

Since "dev_search_path" can technically be as large as PATH_MAX,
there was a risk of truncation when copying it and a second string
into "full_path" since it was also PATH_MAX sized. The W=1 builds were
reporting this warning:

drivers/block/rnbd/rnbd-srv.c: In function 'process_msg_open.isra':
drivers/block/rnbd/rnbd-srv.c:616:51: warning: '%s' directive output may be truncated writing up to 254 bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
  616 |                 snprintf(full_path, PATH_MAX, "%s/%s",
      |                                                   ^~
In function 'rnbd_srv_get_full_path',
    inlined from 'process_msg_open.isra' at drivers/block/rnbd/rnbd-srv.c:721:14: drivers/block/rnbd/rnbd-srv.c:616:17: note: 'snprintf' output between 2 and 4351 bytes into a destination of size 4096
  616 |                 snprintf(full_path, PATH_MAX, "%s/%s",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  617 |                          dev_search_path, dev_name);
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~

To fix this, unconditionally check for truncation (as was already done
for the case where "%SESSNAME%" was present).

The Linux kernel CVE team has assigned CVE-2023-52618 to this issue.

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

	Fixed in 5.10.210 with commit 95bc866c1197
	Fixed in 5.15.149 with commit f6abd5e17da3
	Fixed in 6.1.77 with commit af7bbdac8973
	Fixed in 6.6.16 with commit 5b9ea86e6620
	Fixed in 6.7.4 with commit a2c6206f1810
	Fixed in 6.8 with commit 9e4bf6a08d1e

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-2023-52618
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:
	drivers/block/rnbd/rnbd-srv.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/95bc866c11974d3e4a9d922275ea8127ff809cf7
	https://git.kernel.org/stable/c/f6abd5e17da33eba15df2bddc93413e76c2b55f7
	https://git.kernel.org/stable/c/af7bbdac89739e2e7380387fda598848d3b7010f
	https://git.kernel.org/stable/c/5b9ea86e662035a886ccb5c76d56793cba618827
	https://git.kernel.org/stable/c/a2c6206f18104fba7f887bf4dbbfe4c41adc4339
	https://git.kernel.org/stable/c/9e4bf6a08d1e127bcc4bd72557f2dfafc6bc7f41