{"api_version":"1","generated_at":"2026-05-06T11:00:04+00:00","cve":"CVE-2026-43012","urls":{"html":"https://cve.report/CVE-2026-43012","api":"https://cve.report/api/cve/CVE-2026-43012.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-43012","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-43012"},"summary":{"title":"net/mlx5: Fix switchdev mode rollback in case of failure","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5: Fix switchdev mode rollback in case of failure\n\nIf for some internal reason switchdev mode fails, we rollback to legacy\nmode, before this patch, rollback will unregister the uplink netdev and\nleave it unregistered causing the below kernel bug.\n\nTo fix this, we need to avoid netdev unregister by setting the proper\nrollback flag 'MLX5_PRIV_FLAGS_SWITCH_LEGACY' to indicate legacy mode.\n\ndevlink (431) used greatest stack depth: 11048 bytes left\nmlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), \\\n\tnecvfs(0), active vports(0)\nmlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload\nmlx5_core 0000:00:03.0: Loading uplink representor for vport 65535\nmlx5_core 0000:00:03.0: mlx5_cmd_out_err:816:(pid 456): \\\n\tQUERY_HCA_CAP(0x100) op_mod(0x0) failed, \\\n\tstatus bad parameter(0x3), syndrome (0x3a3846), err(-22)\nmlx5_core 0000:00:03.0 enp0s3np0 (unregistered): Unloading uplink \\\n\trepresentor for vport 65535\n ------------[ cut here ]------------\nkernel BUG at net/core/dev.c:12070!\nOops: invalid opcode: 0000 [#1] SMP NOPTI\nCPU: 2 UID: 0 PID: 456 Comm: devlink Not tainted 6.16.0-rc3+ \\\n\t#9 PREEMPT(voluntary)\nRIP: 0010:unregister_netdevice_many_notify+0x123/0xae0\n...\nCall Trace:\n[   90.923094]  unregister_netdevice_queue+0xad/0xf0\n[   90.923323]  unregister_netdev+0x1c/0x40\n[   90.923522]  mlx5e_vport_rep_unload+0x61/0xc6\n[   90.923736]  esw_offloads_enable+0x8e6/0x920\n[   90.923947]  mlx5_eswitch_enable_locked+0x349/0x430\n[   90.924182]  ? is_mp_supported+0x57/0xb0\n[   90.924376]  mlx5_devlink_eswitch_mode_set+0x167/0x350\n[   90.924628]  devlink_nl_eswitch_set_doit+0x6f/0xf0\n[   90.924862]  genl_family_rcv_msg_doit+0xe8/0x140\n[   90.925088]  genl_rcv_msg+0x18b/0x290\n[   90.925269]  ? __pfx_devlink_nl_pre_doit+0x10/0x10\n[   90.925506]  ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10\n[   90.925766]  ? __pfx_devlink_nl_post_doit+0x10/0x10\n[   90.926001]  ? __pfx_genl_rcv_msg+0x10/0x10\n[   90.926206]  netlink_rcv_skb+0x52/0x100\n[   90.926393]  genl_rcv+0x28/0x40\n[   90.926557]  netlink_unicast+0x27d/0x3d0\n[   90.926749]  netlink_sendmsg+0x1f7/0x430\n[   90.926942]  __sys_sendto+0x213/0x220\n[   90.927127]  ? __sys_recvmsg+0x6a/0xd0\n[   90.927312]  __x64_sys_sendto+0x24/0x30\n[   90.927504]  do_syscall_64+0x50/0x1c0\n[   90.927687]  entry_SYSCALL_64_after_hwframe+0x76/0x7e\n[   90.927929] RIP: 0033:0x7f7d0363e047","state":"PUBLISHED","assigner":"Linux","published_at":"2026-05-01 15:16:45","updated_at":"2026-05-01 15:24:14"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/4363698838b7ec6e8d85b179495889aa7e522f91","name":"https://git.kernel.org/stable/c/4363698838b7ec6e8d85b179495889aa7e522f91","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/403186400a1a6166efe7031edc549c15fee4723f","name":"https://git.kernel.org/stable/c/403186400a1a6166efe7031edc549c15fee4723f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2ebb13f3e8be0b61f72425b34cce60c8b6ad1891","name":"https://git.kernel.org/stable/c/2ebb13f3e8be0b61f72425b34cce60c8b6ad1891","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e27153b2bd6e6699b544ac4dfa35d167bed5e642","name":"https://git.kernel.org/stable/c/e27153b2bd6e6699b544ac4dfa35d167bed5e642","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-43012","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-43012","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected de85624c623dbb5fdb3ae7b08b66894a072c0cc0 2ebb13f3e8be0b61f72425b34cce60c8b6ad1891 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2a4f56fbcc473d8faeb29b73082df39efbe5893c e27153b2bd6e6699b544ac4dfa35d167bed5e642 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2a4f56fbcc473d8faeb29b73082df39efbe5893c 4363698838b7ec6e8d85b179495889aa7e522f91 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2a4f56fbcc473d8faeb29b73082df39efbe5893c 403186400a1a6166efe7031edc549c15fee4723f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.13","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.13 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.81 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.22 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19.12 6.19.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"43012","cve":"CVE-2026-43012","epss":"0.000180000","percentile":"0.046430000","score_date":"2026-05-05","updated_at":"2026-05-06 00:08:09"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"2ebb13f3e8be0b61f72425b34cce60c8b6ad1891","status":"affected","version":"de85624c623dbb5fdb3ae7b08b66894a072c0cc0","versionType":"git"},{"lessThan":"e27153b2bd6e6699b544ac4dfa35d167bed5e642","status":"affected","version":"2a4f56fbcc473d8faeb29b73082df39efbe5893c","versionType":"git"},{"lessThan":"4363698838b7ec6e8d85b179495889aa7e522f91","status":"affected","version":"2a4f56fbcc473d8faeb29b73082df39efbe5893c","versionType":"git"},{"lessThan":"403186400a1a6166efe7031edc549c15fee4723f","status":"affected","version":"2a4f56fbcc473d8faeb29b73082df39efbe5893c","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.13"},{"lessThan":"6.13","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.81","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.22","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.12","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.81","versionStartIncluding":"6.12.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.22","versionStartIncluding":"6.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19.12","versionStartIncluding":"6.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0","versionStartIncluding":"6.13","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5: Fix switchdev mode rollback in case of failure\n\nIf for some internal reason switchdev mode fails, we rollback to legacy\nmode, before this patch, rollback will unregister the uplink netdev and\nleave it unregistered causing the below kernel bug.\n\nTo fix this, we need to avoid netdev unregister by setting the proper\nrollback flag 'MLX5_PRIV_FLAGS_SWITCH_LEGACY' to indicate legacy mode.\n\ndevlink (431) used greatest stack depth: 11048 bytes left\nmlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), \\\n\tnecvfs(0), active vports(0)\nmlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload\nmlx5_core 0000:00:03.0: Loading uplink representor for vport 65535\nmlx5_core 0000:00:03.0: mlx5_cmd_out_err:816:(pid 456): \\\n\tQUERY_HCA_CAP(0x100) op_mod(0x0) failed, \\\n\tstatus bad parameter(0x3), syndrome (0x3a3846), err(-22)\nmlx5_core 0000:00:03.0 enp0s3np0 (unregistered): Unloading uplink \\\n\trepresentor for vport 65535\n ------------[ cut here ]------------\nkernel BUG at net/core/dev.c:12070!\nOops: invalid opcode: 0000 [#1] SMP NOPTI\nCPU: 2 UID: 0 PID: 456 Comm: devlink Not tainted 6.16.0-rc3+ \\\n\t#9 PREEMPT(voluntary)\nRIP: 0010:unregister_netdevice_many_notify+0x123/0xae0\n...\nCall Trace:\n[   90.923094]  unregister_netdevice_queue+0xad/0xf0\n[   90.923323]  unregister_netdev+0x1c/0x40\n[   90.923522]  mlx5e_vport_rep_unload+0x61/0xc6\n[   90.923736]  esw_offloads_enable+0x8e6/0x920\n[   90.923947]  mlx5_eswitch_enable_locked+0x349/0x430\n[   90.924182]  ? is_mp_supported+0x57/0xb0\n[   90.924376]  mlx5_devlink_eswitch_mode_set+0x167/0x350\n[   90.924628]  devlink_nl_eswitch_set_doit+0x6f/0xf0\n[   90.924862]  genl_family_rcv_msg_doit+0xe8/0x140\n[   90.925088]  genl_rcv_msg+0x18b/0x290\n[   90.925269]  ? __pfx_devlink_nl_pre_doit+0x10/0x10\n[   90.925506]  ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10\n[   90.925766]  ? __pfx_devlink_nl_post_doit+0x10/0x10\n[   90.926001]  ? __pfx_genl_rcv_msg+0x10/0x10\n[   90.926206]  netlink_rcv_skb+0x52/0x100\n[   90.926393]  genl_rcv+0x28/0x40\n[   90.926557]  netlink_unicast+0x27d/0x3d0\n[   90.926749]  netlink_sendmsg+0x1f7/0x430\n[   90.926942]  __sys_sendto+0x213/0x220\n[   90.927127]  ? __sys_recvmsg+0x6a/0xd0\n[   90.927312]  __x64_sys_sendto+0x24/0x30\n[   90.927504]  do_syscall_64+0x50/0x1c0\n[   90.927687]  entry_SYSCALL_64_after_hwframe+0x76/0x7e\n[   90.927929] RIP: 0033:0x7f7d0363e047"}],"providerMetadata":{"dateUpdated":"2026-05-01T14:15:18.256Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/2ebb13f3e8be0b61f72425b34cce60c8b6ad1891"},{"url":"https://git.kernel.org/stable/c/e27153b2bd6e6699b544ac4dfa35d167bed5e642"},{"url":"https://git.kernel.org/stable/c/4363698838b7ec6e8d85b179495889aa7e522f91"},{"url":"https://git.kernel.org/stable/c/403186400a1a6166efe7031edc549c15fee4723f"}],"title":"net/mlx5: Fix switchdev mode rollback in case of failure","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-43012","datePublished":"2026-05-01T14:15:18.256Z","dateReserved":"2026-05-01T14:12:55.974Z","dateUpdated":"2026-05-01T14:15:18.256Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-01 15:16:45","lastModifiedDate":"2026-05-01 15:24:14","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"43012","Ordinal":"1","Title":"net/mlx5: Fix switchdev mode rollback in case of failure","CVE":"CVE-2026-43012","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"43012","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5: Fix switchdev mode rollback in case of failure\n\nIf for some internal reason switchdev mode fails, we rollback to legacy\nmode, before this patch, rollback will unregister the uplink netdev and\nleave it unregistered causing the below kernel bug.\n\nTo fix this, we need to avoid netdev unregister by setting the proper\nrollback flag 'MLX5_PRIV_FLAGS_SWITCH_LEGACY' to indicate legacy mode.\n\ndevlink (431) used greatest stack depth: 11048 bytes left\nmlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), \\\n\tnecvfs(0), active vports(0)\nmlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload\nmlx5_core 0000:00:03.0: Loading uplink representor for vport 65535\nmlx5_core 0000:00:03.0: mlx5_cmd_out_err:816:(pid 456): \\\n\tQUERY_HCA_CAP(0x100) op_mod(0x0) failed, \\\n\tstatus bad parameter(0x3), syndrome (0x3a3846), err(-22)\nmlx5_core 0000:00:03.0 enp0s3np0 (unregistered): Unloading uplink \\\n\trepresentor for vport 65535\n ------------[ cut here ]------------\nkernel BUG at net/core/dev.c:12070!\nOops: invalid opcode: 0000 [#1] SMP NOPTI\nCPU: 2 UID: 0 PID: 456 Comm: devlink Not tainted 6.16.0-rc3+ \\\n\t#9 PREEMPT(voluntary)\nRIP: 0010:unregister_netdevice_many_notify+0x123/0xae0\n...\nCall Trace:\n[   90.923094]  unregister_netdevice_queue+0xad/0xf0\n[   90.923323]  unregister_netdev+0x1c/0x40\n[   90.923522]  mlx5e_vport_rep_unload+0x61/0xc6\n[   90.923736]  esw_offloads_enable+0x8e6/0x920\n[   90.923947]  mlx5_eswitch_enable_locked+0x349/0x430\n[   90.924182]  ? is_mp_supported+0x57/0xb0\n[   90.924376]  mlx5_devlink_eswitch_mode_set+0x167/0x350\n[   90.924628]  devlink_nl_eswitch_set_doit+0x6f/0xf0\n[   90.924862]  genl_family_rcv_msg_doit+0xe8/0x140\n[   90.925088]  genl_rcv_msg+0x18b/0x290\n[   90.925269]  ? __pfx_devlink_nl_pre_doit+0x10/0x10\n[   90.925506]  ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10\n[   90.925766]  ? __pfx_devlink_nl_post_doit+0x10/0x10\n[   90.926001]  ? __pfx_genl_rcv_msg+0x10/0x10\n[   90.926206]  netlink_rcv_skb+0x52/0x100\n[   90.926393]  genl_rcv+0x28/0x40\n[   90.926557]  netlink_unicast+0x27d/0x3d0\n[   90.926749]  netlink_sendmsg+0x1f7/0x430\n[   90.926942]  __sys_sendto+0x213/0x220\n[   90.927127]  ? __sys_recvmsg+0x6a/0xd0\n[   90.927312]  __x64_sys_sendto+0x24/0x30\n[   90.927504]  do_syscall_64+0x50/0x1c0\n[   90.927687]  entry_SYSCALL_64_after_hwframe+0x76/0x7e\n[   90.927929] RIP: 0033:0x7f7d0363e047","Type":"Description","Title":"net/mlx5: Fix switchdev mode rollback in case of failure"}]}}}