Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-53188— net: openvswitch: fix race on port output

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于openvswitch端口输出存在竞争条件,可能导致CPU陷入无限循环。

AI Predicted 4.3 Difficulty: Moderate EPSS 0.11% · P1

Affected Version Matrix 14

VendorProduct Version RangeStatus
Linux Linux 7f8a436eaa2c3ddd8e1ff2fbca267e6275085536< 9b0dd09c1ceb35950d2884848099fccc9ec9a123 affected
7f8a436eaa2c3ddd8e1ff2fbca267e6275085536< 284be5db6c8d06d247ed056cfc448c4f79bbb16c affected
7f8a436eaa2c3ddd8e1ff2fbca267e6275085536< 5efcb301523baacd98a47553d4996e924923114d affected
7f8a436eaa2c3ddd8e1ff2fbca267e6275085536< 644b3051b06ba465bc7401bfae9b14963cbc8c1c affected
7f8a436eaa2c3ddd8e1ff2fbca267e6275085536< 56252da41426f3d01957456f13caf46ce670ea29 affected
7f8a436eaa2c3ddd8e1ff2fbca267e6275085536< 066b86787fa3d97b7aefb5ac0a99a22dad2d15f8 affected
4.3 affected
< 4.3 unaffected
… +6 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-53188

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net: openvswitch: fix race on port output
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: fix race on port output assume the following setup on a single machine: 1. An openvswitch instance with one bridge and default flows 2. two network namespaces "server" and "client" 3. two ovs interfaces "server" and "client" on the bridge 4. for each ovs interface a veth pair with a matching name and 32 rx and tx queues 5. move the ends of the veth pairs to the respective network namespaces 6. assign ip addresses to each of the veth ends in the namespaces (needs to be the same subnet) 7. start some http server on the server network namespace 8. test if a client in the client namespace can reach the http server when following the actions below the host has a chance of getting a cpu stuck in a infinite loop: 1. send a large amount of parallel requests to the http server (around 3000 curls should work) 2. in parallel delete the network namespace (do not delete interfaces or stop the server, just kill the namespace) there is a low chance that this will cause the below kernel cpu stuck message. If this does not happen just retry. Below there is also the output of bpftrace for the functions mentioned in the output. The series of events happening here is: 1. the network namespace is deleted calling `unregister_netdevice_many_notify` somewhere in the process 2. this sets first `NETREG_UNREGISTERING` on both ends of the veth and then runs `synchronize_net` 3. it then calls `call_netdevice_notifiers` with `NETDEV_UNREGISTER` 4. this is then handled by `dp_device_event` which calls `ovs_netdev_detach_dev` (if a vport is found, which is the case for the veth interface attached to ovs) 5. this removes the rx_handlers of the device but does not prevent packages to be sent to the device 6. `dp_device_event` then queues the vport deletion to work in background as a ovs_lock is needed that we do not hold in the unregistration path 7. `unregister_netdevice_many_notify` continues to call `netdev_unregister_kobject` which sets `real_num_tx_queues` to 0 8. port deletion continues (but details are not relevant for this issue) 9. at some future point the background task deletes the vport If after 7. but before 9. a packet is send to the ovs vport (which is not deleted at this point in time) which forwards it to the `dev_queue_xmit` flow even though the device is unregistering. In `skb_tx_hash` (which is called in the `dev_queue_xmit`) path there is a while loop (if the packet has a rx_queue recorded) that is infinite if `dev->real_num_tx_queues` is zero. To prevent this from happening we update `do_output` to handle devices without carrier the same as if the device is not found (which would be the code path after 9. is done). Additionally we now produce a warning in `skb_tx_hash` if we will hit the infinite loop. bpftrace (first word is function name): __dev_queue_xmit server: real_num_tx_queues: 1, cpu: 2, pid: 28024, tid: 28024, skb_addr: 0xffff9edb6f207000, reg_state: 1 netdev_core_pick_tx server: addr: 0xffff9f0a46d4a000 real_num_tx_queues: 1, cpu: 2, pid: 28024, tid: 28024, skb_addr: 0xffff9edb6f207000, reg_state: 1 dp_device_event server: real_num_tx_queues: 1 cpu 9, pid: 21024, tid: 21024, event 2, reg_state: 1 synchronize_rcu_expedited: cpu 9, pid: 21024, tid: 21024 synchronize_rcu_expedited: cpu 9, pid: 21024, tid: 21024 synchronize_rcu_expedited: cpu 9, pid: 21024, tid: 21024 synchronize_rcu_expedited: cpu 9, pid: 21024, tid: 21024 dp_device_event server: real_num_tx_queues: 1 cpu 9, pid: 21024, tid: 21024, event 6, reg_state: 2 ovs_netdev_detach_dev server: real_num_tx_queues: 1 cpu 9, pid: 21024, tid: 21024, reg_state: 2 netdev_rx_handler_unregister server: real_num_tx_queues: 1, cpu: 9, pid: 21024, tid: 21024, reg_state: 2 synchronize_rcu_expedited: cpu 9, pid: 21024, tid: 21024 netdev_rx_handler_unregister ret server: real_num_tx_queues: 1, cpu: 9, pid: 21024, tid: 21024, reg_state: 2 dp_ ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于openvswitch端口输出存在竞争条件,可能导致CPU陷入无限循环。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 7f8a436eaa2c3ddd8e1ff2fbca267e6275085536 ~ 9b0dd09c1ceb35950d2884848099fccc9ec9a123 -
Linux Linux 4.3 -

II. Public POCs for CVE-2023-53188

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53188

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-15 · 210 CVEs total

CVE-2022-50235 9.8 CRITICAL NFSD: Protect against send buffer overflow in NFSv2 READDIR
CVE-2022-50335 9.8 CRITICAL 9p: set req refcount to zero to avoid uninitialized usage
CVE-2023-53192 9.8 CRITICAL vxlan: Fix nexthop hash size
CVE-2023-53253 8.8 HIGH HID: nvidia-shield: Reference hid_device devm allocation of input_dev name
CVE-2023-53226 8.8 HIGH wifi: mwifiex: Fix OOB and integer underflow when rx packets
CVE-2022-50241 8.8 HIGH NFSD: fix use-after-free on source server when doing inter-server copy
CVE-2023-53194 8.4 HIGH fs/ntfs3: Add length check in indx_get_root
CVE-2023-53213 8.1 HIGH wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
CVE-2023-53186 8.1 HIGH skbuff: Fix a race between coalescing and releasing SKBs
CVE-2022-50310 7.8 HIGH ip6mr: fix UAF issue in ip6mr_sk_done() when addrconf_init_net() failed
CVE-2023-53254 7.8 HIGH cacheinfo: Fix shared_cpu_map to handle shared caches at different levels
CVE-2023-53252 7.8 HIGH Bluetooth: use RCU for hci_conn_params and iterate safely in hci_sync
CVE-2023-53170 7.8 HIGH net: dsa: Removed unneeded of_node_put in felix_parse_ports_node
CVE-2023-53176 7.8 HIGH serial: 8250: Reinit port->pm on port specific driver unbind
CVE-2023-53178 7.8 HIGH mm: fix zswap writeback race condition
CVE-2023-53179 7.8 HIGH netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
CVE-2023-53184 7.8 HIGH arm64/sme: Set new vector length before reallocating
CVE-2022-50315 7.8 HIGH ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS
CVE-2023-53187 7.8 HIGH btrfs: fix use-after-free of new block group that became unused
CVE-2025-39800 7.8 HIGH btrfs: abort transaction on unexpected eb generation at btrfs_copy_root()

Showing top 20 of 210 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2023-53188

No comments yet


Leave a comment