{"id":"CVE-2022-49907","state":"PUBLISHED","title":"net: mdio: fix undefined behavior in bit shift for __mdiobus_register","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mdio: fix undefined behavior in bit shift for __mdiobus_register\n\nShifting signed 32-bit value by 31 bits is undefined, so changing\nsignificant bit to unsigned. The UBSAN warning calltrace like below:\n\nUBSAN: shift-out-of-bounds in drivers/net/phy/mdio_bus.c:586:27\nleft shift of 1 by 31 places cannot be represented in type 'int'\nCall Trace:\n <TASK>\n dump_stack_lvl+0x7d/0xa5\n dump_stack+0x15/0x1b\n ubsan_epilogue+0xe/0x4e\n __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c\n __mdiobus_register+0x49d/0x4e0\n fixed_mdio_bus_init+0xd8/0x12d\n do_one_initcall+0x76/0x430\n kernel_init_freeable+0x3b3/0x422\n kernel_init+0x24/0x1e0\n ret_from_fork+0x1f/0x30\n </TASK>","publishedAt":"2025-05-01T14:10:51.073Z","updatedAt":"2026-05-11T19:09:02.150Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"20ed01a7b9af6e6a3c33761eebbb710ea6dd49b7","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"7006176a3c863e3e353ce1b8a349ef5bb1b9320e","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"a3fafc974be37319679f36dc4e7cca7db1e02973","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"4954b5359eb141499492fadfab891e28905509e2","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"634f066d02bdb22a26da7deb0c7617ab1a65fc9d","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"985a88bf0b27193522bba7856b1763f428cef19d","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"6ce6f8f8f6316da6f92afe7490bc2f0b654d68e0","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"40e4eb324c59e11fcb927aa46742d28aba6ecb8a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/phy/mdio_bus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.28","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.28","versionType":"semver"},{"version":"4.9.333","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.299","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.265","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.224","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.154","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.78","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.8","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/phy/mdio_bus.c"]}],"references":["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"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49907.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49907","state":"PUBLISHED","datePublished":"2025-05-01T14:10:51.073Z","dateUpdated":"2026-05-11T19:09:02.150Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-01T14:05:17.246Z"},"containers":{"cna":{"title":"net: mdio: fix undefined behavior in bit shift for __mdiobus_register","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mdio: fix undefined behavior in bit shift for __mdiobus_register\n\nShifting signed 32-bit value by 31 bits is undefined, so changing\nsignificant bit to unsigned. The UBSAN warning calltrace like below:\n\nUBSAN: shift-out-of-bounds in drivers/net/phy/mdio_bus.c:586:27\nleft shift of 1 by 31 places cannot be represented in type 'int'\nCall Trace:\n <TASK>\n dump_stack_lvl+0x7d/0xa5\n dump_stack+0x15/0x1b\n ubsan_epilogue+0xe/0x4e\n __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c\n __mdiobus_register+0x49d/0x4e0\n fixed_mdio_bus_init+0xd8/0x12d\n do_one_initcall+0x76/0x430\n kernel_init_freeable+0x3b3/0x422\n kernel_init+0x24/0x1e0\n ret_from_fork+0x1f/0x30\n </TASK>"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"20ed01a7b9af6e6a3c33761eebbb710ea6dd49b7","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"7006176a3c863e3e353ce1b8a349ef5bb1b9320e","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"a3fafc974be37319679f36dc4e7cca7db1e02973","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"4954b5359eb141499492fadfab891e28905509e2","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"634f066d02bdb22a26da7deb0c7617ab1a65fc9d","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"985a88bf0b27193522bba7856b1763f428cef19d","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"6ce6f8f8f6316da6f92afe7490bc2f0b654d68e0","versionType":"git"},{"version":"4fd5f812c23c7deee6425f4a318e85c317cd1d6c","status":"affected","lessThan":"40e4eb324c59e11fcb927aa46742d28aba6ecb8a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/phy/mdio_bus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.28","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.28","versionType":"semver"},{"version":"4.9.333","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.299","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.265","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.224","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.154","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.78","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.8","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/phy/mdio_bus.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/20ed01a7b9af6e6a3c33761eebbb710ea6dd49b7"},{"url":"https://git.kernel.org/stable/c/7006176a3c863e3e353ce1b8a349ef5bb1b9320e"},{"url":"https://git.kernel.org/stable/c/a3fafc974be37319679f36dc4e7cca7db1e02973"},{"url":"https://git.kernel.org/stable/c/4954b5359eb141499492fadfab891e28905509e2"},{"url":"https://git.kernel.org/stable/c/634f066d02bdb22a26da7deb0c7617ab1a65fc9d"},{"url":"https://git.kernel.org/stable/c/985a88bf0b27193522bba7856b1763f428cef19d"},{"url":"https://git.kernel.org/stable/c/6ce6f8f8f6316da6f92afe7490bc2f0b654d68e0"},{"url":"https://git.kernel.org/stable/c/40e4eb324c59e11fcb927aa46742d28aba6ecb8a"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:09:02.150Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"4.9.333"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"4.14.299"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"4.19.265"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"5.4.224"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"5.10.154"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"5.15.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"6.0.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}