CVE-2023-53188

MEDIUMNVD 4.74.7
EchelonGraph scoreMEDIUM confidence

Score 4.7 from GitHub Security Advisory published 2025-09-15. NVD baseline CVSS 4.7; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
4.7
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 4.7Exploit: NoneExposed: 0

A fix is available — apply it.

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:

  • An openvswitch instance with one bridge and default flows
  • two network namespaces "server" and "client"
  • two ovs interfaces "server" and "client" on the bridge
  • for each ovs interface a veth pair with a matching name and 32 rx and
tx queues
  • move the ends of the veth pairs to the respective network namespaces
  • assign ip addresses to each of the veth ends in the namespaces (needs
to be the same subnet)
  • start some http server on the server network namespace
  • 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:

  • send a large amount of parallel requests to the http server (around
3000 curls should work)
  • 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:

  • the network namespace is deleted calling
unregister_netdevice_many_notify somewhere in the process
  • this sets first NETREG_UNREGISTERING on both ends of the veth and
then runs synchronize_net
  • it then calls call_netdevice_notifiers with NETDEV_UNREGISTER
  • 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)
  • this removes the rx_handlers of the device but does not prevent
packages to be sent to the device
  • 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
  • unregister_netdevice_many_notify continues to call
netdev_unregister_kobject which sets real_num_tx_queues to 0
  • port deletion continues (but details are not relevant for this issue)
  • 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---

CVSS v3
4.7
EG Score
4.7(medium)
EG Risk
EPSS
1.3%
KEV
Not listed

Published

September 15, 2025

Last Modified

December 2, 2025

Vendor Advisories for CVE-2023-53188(2)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(2)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:4.18.0-513.5.1.el8_92023-11-14redhat
redhatkernel-0:5.14.0-362.8.1.el9_32023-11-07redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 8× in last 7d / 32× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-22 23:16 UTCEG score recompute
  2. 2026-07-22 14:07 UTCEPSS rescore
  3. 2026-07-22 14:07 UTCEPSS rescore
  4. 2026-07-21 15:23 UTCEPSS rescore
  5. 2026-07-20 17:06 UTCEPSS rescore
  6. 2026-07-19 14:30 UTCEPSS rescore
  7. 2026-07-19 14:29 UTCEPSS rescore
  8. 2026-07-16 17:01 UTCEPSS rescore
  9. 2026-07-15 16:56 UTCEPSS rescore
  10. 2026-07-13 22:28 UTCEPSS rescore
  11. 2026-07-13 22:28 UTCEPSS rescore
  12. 2026-07-12 05:45 UTCEPSS rescore
  13. 2026-07-12 05:45 UTCEPSS rescore
  14. 2026-07-09 19:08 UTCEPSS rescore
  15. 2026-07-08 15:13 UTCEPSS rescore
  16. 2026-07-07 13:45 UTCEPSS rescore
  17. 2026-07-07 13:44 UTCEPSS rescore
  18. 2026-07-06 14:41 UTCOSV refresh
  19. 2026-07-06 02:22 UTCEPSS rescore
  20. 2026-07-06 02:22 UTCEPSS rescore
  21. 2026-07-05 02:29 UTCEPSS rescore
  22. 2026-07-04 06:29 UTCEPSS rescore
  23. 2026-07-01 15:05 UTCEPSS rescore
  24. 2026-06-30 23:21 UTCEPSS rescore
  25. 2026-06-30 23:21 UTCEPSS rescore
Show 41 more
  1. 2026-06-28 14:06 UTCEPSS rescore
  2. 2026-06-28 14:06 UTCEPSS rescore
  3. 2026-06-28 04:55 UTCEPSS rescore
  4. 2026-06-25 13:48 UTCEPSS rescore
  5. 2026-06-25 13:48 UTCEPSS rescore
  6. 2026-06-23 21:31 UTCEPSS rescore
  7. 2026-06-23 21:31 UTCEPSS rescore
  8. 2026-06-21 14:55 UTCEPSS rescore
  9. 2026-06-21 14:55 UTCEPSS rescore
  10. 2026-06-18 17:51 UTCEPSS rescore
  11. 2026-06-18 03:05 UTCOSV refresh
  12. 2026-06-17 17:51 UTCEPSS rescore
  13. 2026-06-15 17:47 UTCEPSS rescore
  14. 2026-06-14 23:16 UTCEPSS rescore
  15. 2026-06-13 22:59 UTCEPSS rescore
  16. 2026-06-13 22:59 UTCEPSS rescore
  17. 2026-06-12 23:11 UTCEPSS rescore
  18. 2026-06-11 13:59 UTCEPSS rescore
  19. 2026-06-10 22:17 UTCEPSS rescore
  20. 2026-06-10 13:21 UTCEPSS rescore
  21. 2026-06-08 14:16 UTCEPSS rescore
  22. 2026-06-08 14:16 UTCEPSS rescore
  23. 2026-06-07 15:24 UTCEPSS rescore
  24. 2026-06-07 15:24 UTCEPSS rescore
  25. 2026-06-05 22:46 UTCEPSS rescore
  26. 2026-06-05 22:46 UTCEPSS rescore
  27. 2026-06-05 06:09 UTCEPSS rescore
  28. 2026-06-05 06:09 UTCEPSS rescore
  29. 2026-06-04 13:11 UTCEPSS rescore
  30. 2026-06-04 13:11 UTCEPSS rescore
  31. 2026-06-02 20:12 UTCEPSS rescore
  32. 2026-06-02 20:12 UTCEPSS rescore
  33. 2026-06-01 13:51 UTCEPSS rescore
  34. 2026-05-31 22:30 UTCEPSS rescore
  35. 2026-05-31 22:30 UTCEPSS rescore
  36. 2026-05-31 00:15 UTCEPSS rescore
  37. 2026-05-31 00:15 UTCEPSS rescore
  38. 2026-05-29 22:53 UTCEG score recompute
  39. 2026-05-29 22:53 UTCVendor advisory
  40. 2026-05-29 22:53 UTCGHSA enrichment
  41. 2026-05-29 13:43 UTCEPSS rescore

Frequently asked(5)

What is CVE-2023-53188?
CVE-2023-53188 is a medium vulnerability published on September 15, 2025. 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"…
When was CVE-2023-53188 disclosed?
CVE-2023-53188 was first published in the National Vulnerability Database on September 15, 2025, with the most recent update on December 2, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2023-53188 actively exploited?
CVE-2023-53188 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1.3% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2023-53188?
CVE-2023-53188 has a CVSS v3 base score of 4.7 (NVD).
How do I remediate CVE-2023-53188?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2023-53188, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2023-53188

Explore →

Is Your Infrastructure Affected by CVE-2023-53188?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.