Skip to content
CVE PROGRAM SOURCE RECORD9.4 Critical

CVE-2025-38146

net: openvswitch: Fix the dead loop of MPLS parse

Description

In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: Fix the dead loop of MPLS parse The unexpected MPLS packet may not end with the bottom label stack. When there are many stacks, The label count value has wrapped around. A dead loop occurs, soft lockup/CPU stuck finally. stack backtrace: UBSAN: array-index-out-of-bounds in /build/linux-0Pa0xK/linux-5.15.0/net/openvswitch/flow.c:662:26 index -1 is out of range for type '__be32 [3]' CPU: 34 PID: 0 Comm: swapper/34 Kdump: loaded Tainted: G OE 5.15.0-121-generic #131-Ubuntu Hardware name: Dell Inc. PowerEdge C6420/0JP9TF, BIOS 2.12.2 07/14/2021 Call Trace: <IRQ> show_stack+0x52/0x5c dump_stack_lvl+0x4a/0x63 dump_stack+0x10/0x16 ubsan_epilogue+0x9/0x36 __ubsan_handle_out_of_bounds.cold+0x44/0x49 key_extract_l3l4+0x82a/0x840 [openvswitch] ? kfree_skbmem+0x52/0xa0 key_extract+0x9c/0x2b0 [openvswitch] ovs_flow_key_extract+0x124/0x350 [openvswitch] ovs_vport_receive+0x61/0xd0 [openvswitch] ? kernel_init_free_pages.part.0+0x4a/0x70 ? get_page_from_freelist+0x353/0x540 netdev_port_receive+0xc4/0x180 [openvswitch] ? netdev_port_receive+0x180/0x180 [openvswitch] netdev_frame_hook+0x1f/0x40 [openvswitch] __netif_receive_skb_core.constprop.0+0x23a/0xf00 __netif_receive_skb_list_core+0xfa/0x240 netif_receive_skb_list_internal+0x18e/0x2a0 napi_complete_done+0x7a/0x1c0 bnxt_poll+0x155/0x1c0 [bnxt_en] __napi_poll+0x30/0x180 net_rx_action+0x126/0x280 ? bnxt_msix+0x67/0x80 [bnxt_en] handle_softirqs+0xda/0x2d0 irq_exit_rcu+0x96/0xc0 common_interrupt+0x8e/0xa0 </IRQ>

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < 4b9a086eedc1fddae632310386098c12155e3d0aaffected
  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < ad17eb86d042d72a59fd184ad1adf34f5eb36843affected
  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < f26fe7c3002516dd3c288f1012786df31f4d89e0affected
  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < 8ebcd311b4866ab911d1445ead08690e67f0c488affected
  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < 69541e58323ec3e3904e1fa87a6213961b1f52f4affected
  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < 3c1906a3d50cb94fd0a10e97a1c0a40c0f033cb7affected
  • fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 to < 0bdc924bfb319fb10d1113cbf091fc26fb7b1f99affected

Linux Linux

Default version status: affected

  • 5.5affected
  • 0 to < 5.5unaffected
  • 5.10.239 to ≤ 5.10.*unaffected
  • 5.15.186 to ≤ 5.15.*unaffected
  • 6.1.142 to ≤ 6.1.*unaffected
  • 6.6.94 to ≤ 6.6.*unaffected
  • 6.12.34 to ≤ 6.12.*unaffected
  • 6.15.3 to ≤ 6.15.*unaffected
  • 6.16 to ≤ *unaffected

References