---
id: CVE-2023-52509
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ravb: Fix use-after-free issue in ravb_tx_timeout_work()

  The ravb_stop() should call cancel_work_sync()
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ravb: Fix use-after-free issue in ravb_tx_timeout_work()

  The ravb_stop() should call cancel_work_sync(). Otherwise,
  ravb_tx_timeout_work() is possible to use the freed…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-416
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.2, < 5.4.259'
  - 'linux_kernel >= 5.5, < 5.10.199'
  - 'linux_kernel >= 5.11, < 5.15.136'
  - 'linux_kernel >= 5.16, < 6.1.59'
  - 'linux_kernel >= 6.2, < 6.5.8'
  - linux_kernel = 6.6
patched:
  - linux_kernel 6.5.8
published: '2024-03-02'
updated: '2026-08-04'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2023-52509'
references:
  - url: 'https://git.kernel.org/stable/c/105abd68ad8f781985113aee2e92e0702b133705'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3971442870713de527684398416970cf025b4f89'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/616761cf9df9af838c0a1a1232a69322a9eb67e6'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/65d34cfd4e347054eb4193bc95d9da7eaa72dee5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6f6fa8061f756aedb93af12a8a5d3cf659127965'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/db9aafa19547833240f58c2998aed7baf414dc82'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/105abd68ad8f781985113aee2e92e0702b133705'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/3971442870713de527684398416970cf025b4f89'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/616761cf9df9af838c0a1a1232a69322a9eb67e6'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/65d34cfd4e347054eb4193bc95d9da7eaa72dee5'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/6f6fa8061f756aedb93af12a8a5d3cf659127965'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/db9aafa19547833240f58c2998aed7baf414dc82'
    label: af854a3a-2127-422b-91ae-364da2661108
tags:
  - nvd
epss: 0.00244
epssPercentile: 0.13873
ingestedAt: '2026-08-04T10:39:40.040Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

ravb: Fix use-after-free issue in ravb_tx_timeout_work()

The ravb_stop() should call cancel_work_sync(). Otherwise,
ravb_tx_timeout_work() is possible to use the freed priv after
ravb_remove() was called like below:

CPU0			CPU1
			ravb_tx_timeout()
ravb_remove()
unregister_netdev()
free_netdev(ndev)
// free priv
			ravb_tx_timeout_work()
			// use priv

unregister_netdev() will call .ndo_stop() so that ravb_stop() is
called. And, after phy_stop() is called, netif_carrier_off()
is also called. So that .ndo_tx_timeout() will not be called
after phy_stop().

## Affected

- `linux_kernel >= 4.2, < 5.4.259`
- `linux_kernel >= 5.5, < 5.10.199`
- `linux_kernel >= 5.11, < 5.15.136`
- `linux_kernel >= 5.16, < 6.1.59`
- `linux_kernel >= 6.2, < 6.5.8`
- `linux_kernel = 6.6`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.5.8`
