Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2023-53188 — kernel

🟡 CVSS 4.7 — Medium ✅ No Known Exploit NVD
4.7
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

net: openvswitch: fix race on port output

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---

How this vulnerability can be exploited

This issue can be reached with local access to the system, attack complexity is high, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

  • Attack vector: Local — a local account, shell or session on the host is needed.
  • Attack complexity: High — the attacker first has to win a race, learn a secret or otherwise prepare the target.
  • Privileges required: Low — an ordinary user account is enough.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: None.
  • Integrity impact: None.
  • Availability impact: High — total loss, or loss the attacker controls.

Affected software

CVE-2023-53188 is recorded against 2 packages.

  • kernel (from 6.2.0 up to 6.2.12)
  • linux-kernel

Timeline and source

Published on 15 September 2025 and last revised on 12 August 2026. No public exploit is currently recorded for this entry. A vendor advisory or fix has been published. Record sourced from NVD.

References

git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
github.com (Advisory)
nvd.nist.gov (Advisory)
git.kernel.org (Package)

Other advisories for this package

kernel has other advisories on record. If you are patching this one, these are worth checking on the same host:

CVE-2023-53188 on other distributions

Each distribution ships its own build and its own fixed version. Pick the one you run:

Details

Severity Medium
CVSS Score 4.7
CVSS Vector CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE N/A
Public Exploit ✅ No
Source NVD
Published 2025-09-15
Updated 2026-08-20
Modified 2026-08-12

Affected Packages

Software From version Fixed in
kernel 6.2.0 6.2.12
linux-kernel — —

Similar Threats

Vulnerability Monitoring

Track new vulnerabilities in kernel

CVE-2023-53188 is rated CVSS 4.7 Medium. BotEraser monitors your WordPress installation and notifies you when software you use appears in our vulnerability database.

Set Up Free Alerts →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2023
✓