ravb: Fix use-after-free issue in ravb_tx_timeout_work()
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().
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.199, 5.15.136, 5.4.259, 6.1.59, 6.5.8
- CVEs
- CVE-2023-52509
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 18:28 UTC · Revision 1
Source evidence
ravb: Fix use-after-free issue in ravb_tx_timeout_work()
core-osv · Original sourcePublished 2 Mar 2024, 21:52 UTC
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().
osv:CVE-2023-52509
Kernel
Fixed versions: 5.4.259, 5.10.199, 5.15.136, 6.1.59, 6.5.8
Complete source record
{
"id": "148b70e62242bc6c5fdc1dcf616581cc6d44e00f067e498a5a1714e27a02103b",
"url": "https://osv.dev/vulnerability/CVE-2023-52509",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "ravb: Fix use-after-free issue in ravb_tx_timeout_work()",
"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 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().",
"evidence": "osv:CVE-2023-52509",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.4.259",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.199",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.136",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.59",
"evidence": "/affected/1/ranges"
},
{
"value": "6.5.8",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2023-52509",
"aliases": [
"CVE-2023-52509"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "c156633f1353264634135dea86ffcae74f2122fc"
},
{
"fixed": "65d34cfd4e347054eb4193bc95d9da7eaa72dee5"
},
{
"fixed": "db9aafa19547833240f58c2998aed7baf414dc82"
},
{
"fixed": "616761cf9df9af838c0a1a1232a69322a9eb67e6"
},
{
"fixed": "6f6fa8061f756aedb93af12a8a5d3cf659127965"
},
{
"fixed": "105abd68ad8f781985113aee2e92e0702b133705"
},
{
"fixed": "3971442870713de527684398416970cf025b4f89"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52509.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.2.0"
},
{
"fixed": "5.4.259"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.199"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.136"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.59"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.5.8"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52509.json"
}
}
],
"modified": "2026-10-28T02:30:22.318559221Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/105abd68ad8f781985113aee2e92e0702b133705",
"https://git.kernel.org/stable/c/3971442870713de527684398416970cf025b4f89",
"https://git.kernel.org/stable/c/616761cf9df9af838c0a1a1232a69322a9eb67e6",
"https://git.kernel.org/stable/c/65d34cfd4e347054eb4193bc95d9da7eaa72dee5",
"https://git.kernel.org/stable/c/6f6fa8061f756aedb93af12a8a5d3cf659127965",
"https://git.kernel.org/stable/c/db9aafa19547833240f58c2998aed7baf414dc82",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52509.json",
"https://nvd.nist.gov/vuln/detail/CVE-2023-52509",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52509.json"
}
},
"related_cves": [
{
"value": "CVE-2023-52509",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 488426,
"published_at": "2024-03-02T21:52:22.006+00:00"
}