CVE-2022-49907 net: mdio: fix undefined behavior in bit shift for __mdiobus_register

High 7.8 Published Updated

Undefined behavior from signed integer shift in MDIO bus registration can cause kernel crashes, requiring a patch to use unsigned types.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2022-49907?

CVE-2022-49907 is a high-severity vulnerability in Linux kernel, published on 1 May 2025. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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>

Which versions are affected by CVE-2022-49907?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2022-49907?

Apply the vendor's patch.

Is CVE-2022-49907 being exploited?

There is no known exploitation of CVE-2022-49907 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2022-49907, GHSA-j78r-hv87-26mj, UBUNTU-CVE-2022-49907.

Is CVE-2022-49907 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free