Subject: CVE-2023-52915: media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer

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

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

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

media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer

In af9035_i2c_master_xfer, msg is controlled by user. When msg[i].buf
is null and msg[i].len is zero, former checks on msg[i].buf would be
passed. Malicious data finally reach af9035_i2c_master_xfer. If accessing
msg[i].buf[0] without sanity check, null ptr deref would happen.
We add check on msg[i].len to prevent crash.

Similar commit:
commit 0ed554fd769a
("media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()")

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

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

	Fixed in 4.14.326 with commit b2f54ed7739d
	Fixed in 4.19.295 with commit fa58d9db5cad
	Fixed in 5.4.257 with commit b49c6e5dd236
	Fixed in 5.10.197 with commit 6c01ef65de0b
	Fixed in 5.15.133 with commit d9ef84a7c222
	Fixed in 6.1.55 with commit 0143f282b15f
	Fixed in 6.5.5 with commit 41b7181a40af
	Fixed in 6.6 with commit 7bf744f2de0a

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-52915
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/media/usb/dvb-usb-v2/af9035.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/b2f54ed7739dfdf42c4df0a11131aad7c8635464
	https://git.kernel.org/stable/c/fa58d9db5cad4bb7bb694b6837e3b96d87554f2b
	https://git.kernel.org/stable/c/b49c6e5dd236787f13a062ec528d724169f11152
	https://git.kernel.org/stable/c/6c01ef65de0b321b2db1ef9abf8f1d15862b937e
	https://git.kernel.org/stable/c/d9ef84a7c222497ecb5fdf93361c76931804825e
	https://git.kernel.org/stable/c/0143f282b15f7cedc0392ea10050fb6000fd16e6
	https://git.kernel.org/stable/c/41b7181a40af84448a2b144fb02d8bf32b7e9a23
	https://git.kernel.org/stable/c/7bf744f2de0a848fb1d717f5831b03db96feae89