[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025050103-CVE-2022-49907-f684@gregkh>
Date: Thu, 1 May 2025 16:11:37 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-49907: net: mdio: fix undefined behavior in bit shift for __mdiobus_register
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net: mdio: fix undefined behavior in bit shift for __mdiobus_register
Shifting signed 32-bit value by 31 bits is undefined, so changing
significant bit to unsigned. The UBSAN warning calltrace like below:
UBSAN: shift-out-of-bounds in drivers/net/phy/mdio_bus.c:586:27
left shift of 1 by 31 places cannot be represented in type 'int'
Call Trace:
<TASK>
dump_stack_lvl+0x7d/0xa5
dump_stack+0x15/0x1b
ubsan_epilogue+0xe/0x4e
__ubsan_handle_shift_out_of_bounds+0x1e7/0x20c
__mdiobus_register+0x49d/0x4e0
fixed_mdio_bus_init+0xd8/0x12d
do_one_initcall+0x76/0x430
kernel_init_freeable+0x3b3/0x422
kernel_init+0x24/0x1e0
ret_from_fork+0x1f/0x30
</TASK>
The Linux kernel CVE team has assigned CVE-2022-49907 to this issue.
Affected and fixed versions
===========================
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 4.9.333 with commit 20ed01a7b9af6e6a3c33761eebbb710ea6dd49b7
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 4.14.299 with commit 7006176a3c863e3e353ce1b8a349ef5bb1b9320e
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 4.19.265 with commit a3fafc974be37319679f36dc4e7cca7db1e02973
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 5.4.224 with commit 4954b5359eb141499492fadfab891e28905509e2
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 5.10.154 with commit 634f066d02bdb22a26da7deb0c7617ab1a65fc9d
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 5.15.78 with commit 985a88bf0b27193522bba7856b1763f428cef19d
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 6.0.8 with commit 6ce6f8f8f6316da6f92afe7490bc2f0b654d68e0
Issue introduced in 2.6.28 with commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c and fixed in 6.1 with commit 40e4eb324c59e11fcb927aa46742d28aba6ecb8a
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-2022-49907
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/net/phy/mdio_bus.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/20ed01a7b9af6e6a3c33761eebbb710ea6dd49b7
https://git.kernel.org/stable/c/7006176a3c863e3e353ce1b8a349ef5bb1b9320e
https://git.kernel.org/stable/c/a3fafc974be37319679f36dc4e7cca7db1e02973
https://git.kernel.org/stable/c/4954b5359eb141499492fadfab891e28905509e2
https://git.kernel.org/stable/c/634f066d02bdb22a26da7deb0c7617ab1a65fc9d
https://git.kernel.org/stable/c/985a88bf0b27193522bba7856b1763f428cef19d
https://git.kernel.org/stable/c/6ce6f8f8f6316da6f92afe7490bc2f0b654d68e0
https://git.kernel.org/stable/c/40e4eb324c59e11fcb927aa46742d28aba6ecb8a
Powered by blists - more mailing lists