{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53230","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-06-09T07:44:35.393Z","datePublished":"2026-06-25T08:39:29.210Z","dateUpdated":"2026-08-05T12:34:22.423Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:34:22.423Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list\n\nmlx5_query_nic_vport_mac_list() sizes its firmware command buffer using\nthe PF's log_max_current_uc/mc_list capabilities. When querying a VF\nvport with a larger configured max (via devlink), the firmware response\ncan overflow this buffer:\n\n BUG: KASAN: slab-out-of-bounds in mlx5_query_nic_vport_mac_list+0x453/0x4c0 [mlx5_core]\n Read of size 4 at addr ff1100013ffc8a12 by task kworker/u96:2/385\n\n CPU: 12 UID: 0 PID: 385 Comm: kworker/u96:2 Not tainted 7.0.0-rc6+ #1 PREEMPT\n Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)\n Workqueue: mlx5_esw_wq esw_vport_change_handler [mlx5_core]\n Call Trace:\n  <TASK>\n  dump_stack_lvl+0x69/0xa0\n  print_report+0x176/0x4e4\n  kasan_report+0xc8/0x100\n  mlx5_query_nic_vport_mac_list+0x453/0x4c0 [mlx5_core]\n  esw_update_vport_addr_list+0x2e3/0xda0 [mlx5_core]\n  esw_vport_change_handle_locked+0xa1f/0x1060 [mlx5_core]\n  esw_vport_change_handler+0x6a/0x90 [mlx5_core]\n  process_one_work+0x87f/0x15e0\n  worker_thread+0x62b/0x1020\n  kthread+0x375/0x490\n  ret_from_fork+0x4dc/0x810\n  ret_from_fork_asm+0x11/0x20\n  </TASK>\n\nFix by querying the vport's own HCA caps to size the buffer correctly.\nRefactor the function to allocate and return the MAC list internally,\nremoving the caller's dependency on knowing the correct max."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:H","baseScore":8.7,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable PF eswitch worker is reached through local VF/device control paths, not by ordinary remote packets. A plausible severe scenario is a tenant or container with local control of an mlx5 SR-IOV VF triggering vport MAC-list changes.\nAC:L - There is no race or timing requirement; once a VF vport has a larger MAC-list capability than the PF-sized query buffer, changing the VF MAC filter state deterministically queues the PF query path. The required SR-IOV/devlink configuration is an affected deployment condition.\nPR:L - The host/VF must be in an affected mlx5 SR-IOV configuration, but the triggering MAC-list changes can be made from delegated VF/net namespace privileges such as CAP_NET_RAW or CAP_NET_ADMIN rather than host root. User namespaces and containerized VF deployments make this closer to low privilege than real host-admin-only access.\nUI:N - No victim user action is needed after the affected VF is available. The attacker can trigger the vport context change directly through local network-device control operations.\nS:C - In SR-IOV or passthrough deployments, a VF-side actor can cause faults in the host PF eswitch driver. That crosses the VF/guest security boundary into the host kernel’s security authority.\nC:H - The bug reads past the allocated firmware command response buffer while copying MAC entries, exposing adjacent kernel heap contents in principle. The out-of-bounds read is not strictly limited to only a few bytes.\nI:L - The read data is consumed as MAC-list state and can result in unintended eswitch/FDB address programming, but the investigated path does not show an arbitrary kernel write primitive. This supports limited integrity impact rather than full code execution.\nA:H - The reported failure is a KASAN slab-out-of-bounds in a kernel workqueue, and on affected systems it can oops or panic the host kernel. The trigger can be repeated through VF MAC-list changes."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ethernet/mellanox/mlx5/core/eswitch.c","drivers/net/ethernet/mellanox/mlx5/core/vport.c","include/linux/mlx5/vport.h"],"versions":[{"version":"e16aea2744abea612c27ee0eef606c6a6a8204de","lessThan":"41781f2789309462520a93822e946521ed78f97f","status":"affected","versionType":"git"},{"version":"e16aea2744abea612c27ee0eef606c6a6a8204de","lessThan":"537d87784e81c3d7037525b99416455cee088cdc","status":"affected","versionType":"git"},{"version":"e16aea2744abea612c27ee0eef606c6a6a8204de","lessThan":"0f807764bb122fd63aa45f4229cb1ef2679fbd40","status":"affected","versionType":"git"},{"version":"e16aea2744abea612c27ee0eef606c6a6a8204de","lessThan":"2398e497389ed4be43f7cfbab499b49cec7dae1a","status":"affected","versionType":"git"},{"version":"e16aea2744abea612c27ee0eef606c6a6a8204de","lessThan":"894e036a24a26a6dd7b17d8d3fb5c53ab48a6074","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ethernet/mellanox/mlx5/core/eswitch.c","drivers/net/ethernet/mellanox/mlx5/core/vport.c","include/linux/mlx5/vport.h"],"versions":[{"version":"4.5","status":"affected"},{"version":"0","lessThan":"4.5","status":"unaffected","versionType":"semver"},{"version":"6.6.143","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.94","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.36","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.13","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"6.12.94"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"6.18.36"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"7.0.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/41781f2789309462520a93822e946521ed78f97f"},{"url":"https://git.kernel.org/stable/c/537d87784e81c3d7037525b99416455cee088cdc"},{"url":"https://git.kernel.org/stable/c/0f807764bb122fd63aa45f4229cb1ef2679fbd40"},{"url":"https://git.kernel.org/stable/c/2398e497389ed4be43f7cfbab499b49cec7dae1a"},{"url":"https://git.kernel.org/stable/c/894e036a24a26a6dd7b17d8d3fb5c53ab48a6074"}],"title":"net/mlx5: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list","x_generator":{"engine":"bippy-1.2.0"}}}}