Use-after-free in Linux kernel's net/sched: cls_route component
A use-after-free vulnerability in the Linux kernel's net/sched: cls_route component can be exploited to achieve local privilege escalation. When route4_change() is called on an existing filter, the whole tcf_result struct is always copied into the new instance of the filter. This causes a problem when updating a filter bound to a class, as tcf_unbind_filter() is always called on the old instance in the success path, decreasing filter_cnt of the still referenced class and allowing it to be deleted, leading to a use-after-free. We recommend upgrading past commit b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2023-4206
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 03:13 UTC · Revision 1
Source evidence
Use-after-free in Linux kernel's net/sched: cls_route component
core-osv · Original sourcePublished 6 Sept 2023, 13:53 UTC
A use-after-free vulnerability in the Linux kernel's net/sched: cls_route component can be exploited to achieve local privilege escalation. When route4_change() is called on an existing filter, the whole tcf_result struct is always copied into the new instance of the filter. This causes a problem when updating a filter bound to a class, as tcf_unbind_filter() is always called on the old instance in the success path, decreasing filter_cnt of the still referenced class and allowing it to be deleted, leading to a use-after-free. We recommend upgrading past commit b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8.
osv:CVE-2023-4206
Complete source record
{
"id": "e6e54bb933ad8fe0d152744d5cc0c8958226f998de857c6504ddb94c311686b3",
"url": "https://osv.dev/vulnerability/CVE-2023-4206",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Use-after-free in Linux kernel's net/sched: cls_route component",
"summary": "A use-after-free vulnerability in the Linux kernel's net/sched: cls_route component can be exploited to achieve local privilege escalation. When route4_change() is called on an existing filter, the whole tcf_result struct is always copied into the new instance of the filter. This causes a problem when updating a filter bound to a class, as tcf_unbind_filter() is always called on the old instance in the success path, decreasing filter_cnt of the still referenced class and allowing it to be deleted, leading to a use-after-free. We recommend upgrading past commit b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8.",
"evidence": "osv:CVE-2023-4206",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2023-4206",
"aliases": [
"CVE-2023-4206"
],
"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/torvalds/linux.git",
"type": "GIT",
"events": [
{
"introduced": "b2776bf7149bddd1f4161f14f79520f17fc1d71d"
},
{
"fixed": "2dde18cd1d8fac735875f2e4987f11817cc0bc2c"
},
{
"fixed": "b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "3.18"
},
{
"fixed": "6.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"fixed": "b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v6.5-rc1",
"v6.5-rc2",
"v6.5-rc7",
"v6.5-rc4",
"v6.5-rc3",
"v6.5-rc6",
"v6.5-rc5",
"v6.4",
"v6.4-rc7",
"v6.4-rc1",
"v6.4-rc6",
"v6.4-rc5",
"v6.4-rc3",
"v6.4-rc4",
"v6.4-rc2",
"v6.3",
"v6.3-rc1",
"v6.3-rc7",
"v6.3-rc2",
"v6.3-rc3",
"v6.3-rc5",
"v6.3-rc6",
"v6.3-rc4",
"v6.2-rc6",
"v6.2-rc1",
"v6.2",
"v6.2-rc2",
"v6.2-rc8",
"v6.2-rc5",
"v6.2-rc4",
"v6.2-rc7",
"v6.2-rc3",
"v6.1-rc1",
"v6.1",
"v6.1-rc8",
"v6.1-rc3",
"v6.1-rc6",
"v6.1-rc7",
"v6.1-rc4",
"v6.1-rc2",
"v6.1-rc5",
"v6.0-rc1",
"v6.0",
"v6.0-rc7",
"v6.0-rc3",
"v6.0-rc2",
"v6.0-rc6",
"v6.0-rc4",
"v6.0-rc5",
"v5.19",
"v5.19-rc1",
"v5.19-rc5",
"v5.19-rc8",
"v5.19-rc6",
"v5.18",
"v5.19-rc2",
"v5.19-rc7",
"v5.19-rc3",
"v5.19-rc4",
"v5.18-rc1",
"v5.18-rc7",
"v5.18-rc2",
"v5.18-rc5",
"v5.17",
"v5.18-rc4",
"v5.18-rc3",
"v5.18-rc6",
"v5.17-rc6",
"v5.17-rc4",
"v5.17-rc8",
"v5.17-rc7",
"v5.17-rc1",
"v5.17-rc3",
"v5.17-rc2",
"v5.17-rc5",
"v5.16",
"v5.16-rc1",
"v5.16-rc8",
"v5.16-rc5",
"v5.16-rc6",
"v5.16-rc7",
"v5.16-rc3",
"v5.16-rc2",
"v5.16-rc4",
"v5.15",
"v5.15-rc2",
"v5.15-rc1",
"v5.15-rc4",
"v5.15-rc7",
"v5.15-rc3",
"v5.15-rc5",
"v5.15-rc6",
"v5.14",
"v5.14-rc3",
"v5.14-rc1",
"v5.14-rc2",
"v5.14-rc7",
"v5.14-rc6",
"v5.13-rc1",
"v5.14-rc5",
"v5.14-rc4",
"v5.13",
"v5.13-rc6",
"v5.13-rc7",
"v5.13-rc3",
"v5.13-rc2",
"v5.13-rc4",
"v5.13-rc5",
"v5.12",
"v5.12-rc2",
"v5.12-rc1-dontuse",
"v5.12-rc1",
"v5.12-rc8",
"v5.12-rc3",
"v5.12-rc7",
"v5.12-rc5",
"v5.12-rc6",
"v5.12-rc4",
"v5.10",
"v5.11",
"v5.11-rc3",
"v5.11-rc7",
"v5.11-rc6",
"v5.11-rc5",
"v5.11-rc1",
"v5.11-rc4",
"v5.11-rc2",
"v5.10-rc1",
"v5.10-rc7",
"v5.10-rc4",
"v5.10-rc3",
"v5.10-rc6",
"v5.9",
"v5.10-rc2",
"v5.10-rc5",
"v5.9-rc1",
"v5.9-rc7",
"v5.9-rc8",
"v5.9-rc6",
"v5.9-rc4",
"v5.9-rc5",
"v5.9-rc3",
"v5.9-rc2",
"v5.8",
"v5.7",
"v5.8-rc2",
"v5.8-rc1",
"v5.8-rc7",
"v5.8-rc5",
"v5.8-rc3",
"v5.8-rc4",
"v5.8-rc6",
"v5.7-rc4",
"v5.7-rc7",
"v5.7-rc1",
"v5.7-rc3",
"v5.7-rc2",
"v5.7-rc5",
"v5.7-rc6",
"v5.6",
"v5.6-rc1",
"v5.6-rc7",
"v5.6-rc6",
"v5.6-rc3",
"v5.6-rc4",
"v5.6-rc2",
"v5.6-rc5",
"v5.5",
"v5.5-rc5",
"v5.5-rc7",
"v5.5-rc2",
"v5.5-rc1",
"v5.4",
"v5.5-rc4",
"v5.5-rc3",
"v5.5-rc6",
"v5.4-rc1",
"v5.4-rc6",
"v5.4-rc3",
"v5.4-rc4",
"v5.4-rc8",
"v5.4-rc7",
"v5.4-rc5",
"v5.3",
"v5.4-rc2",
"v5.3-rc5",
"v5.3-rc1",
"v5.3-rc2",
"v5.3-rc3",
"v5.3-rc8",
"v5.3-rc7",
"v5.3-rc4",
"v5.2",
"v5.3-rc6",
"v5.2-rc2",
"v5.2-rc7",
"v5.2-rc4",
"v5.2-rc1",
"v5.2-rc5",
"v5.2-rc6",
"v5.2-rc3",
"v5.1",
"v5.0-rc8",
"v5.1-rc7",
"v5.1-rc1",
"v5.1-rc6",
"v5.1-rc5",
"v5.0",
"v5.1-rc3",
"v5.1-rc2",
"v5.1-rc4",
"v5.0-rc1",
"v5.0-rc4",
"v5.0-rc3",
"v5.0-rc6",
"v5.0-rc7",
"v5.0-rc2",
"v5.0-rc5",
"v4.20-rc1",
"v4.19",
"v4.20",
"v4.20-rc7",
"v4.20-rc5",
"v4.20-rc6",
"v4.20-rc4",
"v4.20-rc2",
"v4.20-rc3",
"v4.19-rc2",
"v4.19-rc8",
"v4.19-rc4",
"v4.19-rc1",
"v4.19-rc7",
"v4.19-rc6",
"v4.19-rc5",
"v4.19-rc3",
"v4.18",
"v4.18-rc1",
"v4.18-rc8",
"v4.18-rc2",
"v4.18-rc5",
"v4.18-rc6",
"v4.18-rc7",
"v4.17",
"v4.18-rc3",
"v4.18-rc4",
"v4.17-rc1",
"v4.17-rc2",
"v4.17-rc7",
"v4.17-rc3",
"v4.17-rc4",
"v4.16",
"v4.17-rc6",
"v4.17-rc5",
"v4.16-rc7",
"v4.16-rc4",
"v4.16-rc1",
"v4.16-rc2",
"v4.16-rc5",
"v4.16-rc3",
"v4.16-rc6",
"v4.14",
"v4.15",
"v4.15-rc1",
"v4.15-rc4",
"v4.15-rc9",
"v4.15-rc8",
"v4.15-rc7",
"v4.15-rc3",
"v4.15-rc2",
"v4.15-rc5",
"v4.15-rc6",
"v4.14-rc1",
"v4.14-rc7",
"v4.14-rc3",
"v4.13",
"v4.14-rc8",
"v4.14-rc4",
"v4.14-rc6",
"v4.14-rc2",
"v4.14-rc5",
"v4.13-rc2",
"v4.13-rc1",
"v4.13-rc3",
"v4.13-rc7",
"v4.13-rc4",
"v4.13-rc5",
"v4.13-rc6",
"v4.12-rc1",
"v4.12",
"v4.12-rc5",
"v4.12-rc7",
"v4.12-rc6",
"v4.12-rc4",
"v4.12-rc2",
"v4.12-rc3",
"v4.11",
"v4.11-rc1",
"v4.11-rc6",
"v4.11-rc8",
"v4.11-rc7",
"v4.11-rc3",
"v4.11-rc5",
"v4.11-rc2",
"v4.11-rc4",
"v4.10",
"v4.9",
"v4.10-rc8",
"v4.10-rc3",
"v4.10-rc1",
"v4.10-rc7",
"v4.10-rc6",
"v4.10-rc2",
"v4.10-rc5",
"v4.10-rc4",
"v4.9-rc7",
"v4.9-rc6",
"v4.9-rc8",
"v4.9-rc1",
"v4.9-rc5",
"v4.9-rc3",
"v4.9-rc4",
"v4.9-rc2",
"v4.8",
"v4.8-rc8",
"v4.8-rc2",
"v4.8-rc1",
"v4.8-rc7",
"v4.8-rc6",
"v4.8-rc5",
"v4.8-rc4",
"v4.8-rc3",
"v4.7",
"v4.7-rc4",
"v4.7-rc2",
"v4.7-rc1",
"v4.7-rc7",
"v4.7-rc6",
"v4.7-rc3",
"v4.7-rc5",
"v4.6",
"v4.6-rc1",
"v4.6-rc6",
"v4.6-rc4",
"v4.6-rc7",
"v4.6-rc5",
"v4.5-rc4",
"v4.6-rc2",
"v4.6-rc3",
"v4.5",
"v4.4",
"v4.5-rc1",
"v4.5-rc6",
"v4.5-rc2",
"v4.5-rc7",
"v4.5-rc5",
"v4.5-rc3",
"v4.4-rc1",
"v4.4-rc2",
"v4.4-rc8",
"v4.4-rc3",
"v4.4-rc7",
"v4.4-rc5",
"v4.4-rc6",
"v4.4-rc4",
"v4.3",
"v4.3-rc1",
"v4.3-rc6",
"v4.3-rc4",
"v4.3-rc2",
"v4.3-rc7",
"v4.3-rc5",
"v4.3-rc3",
"v4.2",
"v4.2-rc2",
"v4.2-rc1",
"v4.2-rc8",
"v4.2-rc4",
"v4.2-rc6",
"v4.2-rc7",
"v4.0-rc5",
"v4.2-rc5",
"v4.2-rc3",
"v4.1-rc2",
"v4.1",
"v4.1-rc1",
"v4.1-rc8",
"v4.1-rc7",
"v4.1-rc6",
"v4.1-rc3",
"v4.1-rc4",
"v4.0",
"v4.1-rc5",
"v4.0-rc1",
"v4.0-rc2",
"v4.0-rc7",
"v4.0-rc3",
"v4.0-rc6",
"v4.0-rc4",
"v3.19",
"v3.19-rc7",
"v3.19-rc5",
"v3.19-rc1",
"v3.19-rc6",
"v3.19-rc4",
"v3.19-rc3",
"v3.19-rc2",
"v3.18"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-4206.json"
}
}
],
"modified": "2026-10-28T02:30:53.327154301Z",
"provider": "osv",
"references": [
"https://git.kernel.org",
"https://kernel.dance/b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8",
"https://lists.debian.org/debian-lts-announce/2024/01/msg00004.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/4xxx/CVE-2023-4206.json",
"https://nvd.nist.gov/vuln/detail/CVE-2023-4206",
"https://www.debian.org/security/2023/dsa-5492",
"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8"
],
"provider_metadata": {
"cwe_ids": [
"CWE-416"
],
"cna_assigner": "Google",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/4xxx/CVE-2023-4206.json"
}
},
"related_cves": [
{
"value": "CVE-2023-4206",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 522111,
"published_at": "2023-09-06T13:53:05.197+00:00"
}