RDMA/rtrs: Fix use-after-free in path file creation cleanup
In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs: Fix use-after-free in path file creation cleanup In the error path of rtrs_srv_create_path_files(), the sysfs root folders may already have been created and srv_path->kobj may already have been initialized. If a later step fails, the cleanup currently calls kobject_put(&srv_path->kobj) before rtrs_srv_destroy_once_sysfs_root_folders(srv_path). kobject_put() may drop the last reference to srv_path->kobj and invoke the release callback, rtrs_srv_release(), which frees srv_path. The following call to rtrs_srv_destroy_once_sysfs_root_folders(srv_path) then dereferences srv_path internally to access srv_path->srv, resulting in a use-after-free. This failure path is reached before rtrs_srv_create_path_files() returns success, so the successful-path lifetime handling is not involved. Fix this by destroying the sysfs root folders before calling kobject_put(&srv_path->kobj), so srv_path is still valid while the helper accesses it. This issue was found by a static analysis tool I am developing.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.15.209, 6.1.175, 6.12.92, 6.18.34, 6.6.142, 7.0.11
- CVEs
- CVE-2026-64033
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 05:27 UTC · Revision 1
Source evidence
RDMA/rtrs: Fix use-after-free in path file creation cleanup
core-osv · Original sourcePublished 19 Jul 2026, 15:39 UTC
In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs: Fix use-after-free in path file creation cleanup In the error path of rtrs_srv_create_path_files(), the sysfs root folders may already have been created and srv_path->kobj may already have been initialized. If a later step fails, the cleanup currently calls kobject_put(&srv_path->kobj) before rtrs_srv_destroy_once_sysfs_root_folders(srv_path). kobject_put() may drop the last reference to srv_path->kobj and invoke the release callback, rtrs_srv_release(), which frees srv_path. The following call to rtrs_srv_destroy_once_sysfs_root_folders(srv_path) then dereferences srv_path internally to access srv_path->srv, resulting in a use-after-free. This failure path is reached before rtrs_srv_create_path_files() returns success, so the successful-path lifetime handling is not involved. Fix this by destroying the sysfs root folders before calling kobject_put(&srv_path->kobj), so srv_path is still valid while the helper accesses it. This issue was found by a static analysis tool I am developing.
osv:CVE-2026-64033
Kernel
Fixed versions: 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11
Complete source record
{
"id": "cf913219be0ef2f59d8222060e8985523af050482481839cfef5439a64385af4",
"url": "https://osv.dev/vulnerability/CVE-2026-64033",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "RDMA/rtrs: Fix use-after-free in path file creation cleanup",
"summary": "In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs: Fix use-after-free in path file creation cleanup In the error path of rtrs_srv_create_path_files(), the sysfs root folders may already have been created and srv_path->kobj may already have been initialized. If a later step fails, the cleanup currently calls kobject_put(&srv_path->kobj) before rtrs_srv_destroy_once_sysfs_root_folders(srv_path). kobject_put() may drop the last reference to srv_path->kobj and invoke the release callback, rtrs_srv_release(), which frees srv_path. The following call to rtrs_srv_destroy_once_sysfs_root_folders(srv_path) then dereferences srv_path internally to access srv_path->srv, resulting in a use-after-free. This failure path is reached before rtrs_srv_create_path_files() returns success, so the successful-path lifetime handling is not involved. Fix this by destroying the sysfs root folders before calling kobject_put(&srv_path->kobj), so srv_path is still valid while the helper accesses it. This issue was found by a static analysis tool I am developing.",
"evidence": "osv:CVE-2026-64033",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.15.209",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.175",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.142",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.92",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.34",
"evidence": "/affected/1/ranges"
},
{
"value": "7.0.11",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "critical",
"structured": {
"id": "CVE-2026-64033",
"aliases": [
"CVE-2026-64033"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/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": "bab17b761c8974a869b04462be5d4dd9aad366b4"
},
{
"fixed": "01e42aabaf7632beb4bf235c7238b96c746d4144"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "ae4c81644e9105d9f7f713bb0d444737bb6a0cf1"
},
{
"fixed": "548f3956e53a7f7bde912d8129010b8986d5e602"
},
{
"fixed": "00904a73272b9f3ef3952fe69a833909dccad1ef"
},
{
"fixed": "92060ab1c5115674cf319175550f85f68405121f"
},
{
"fixed": "eae62c5451e67e8b033c1681fd3b85d7e9a9a28f"
},
{
"fixed": "b0e9706fb2859064bb6c677554c4d20c713aa8e0"
},
{
"fixed": "5b74373390113fba798a76b483837029ab010fef"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.15.61"
},
{
"fixed": "5.15.209"
}
]
}
],
"versions": [
"v5.15.208",
"v5.15.207",
"v5.15.206",
"v5.15.205",
"v5.15.204",
"v5.15.203",
"v5.15.202",
"v5.15.201",
"v5.15.200",
"v5.15.199",
"v5.15.198",
"v5.15.197",
"v5.15.196",
"v5.15.195",
"v5.15.194",
"v5.15.193",
"v5.15.192",
"v5.15.191",
"v5.15.190",
"v5.15.189",
"v5.15.188",
"v5.15.187",
"v5.15.186",
"v5.15.185",
"v5.15.184",
"v5.15.183",
"v5.15.182",
"v5.15.181",
"v5.15.180",
"v5.15.179",
"v5.15.178",
"v5.15.177",
"v5.15.176",
"v5.15.175",
"v5.15.174",
"v5.15.173",
"v5.15.172",
"v5.15.171",
"v5.15.170",
"v5.15.169",
"v5.15.168",
"v5.15.167",
"v5.15.166",
"v5.15.165",
"v5.15.164",
"v5.15.163",
"v5.15.162",
"v5.15.161",
"v5.15.160",
"v5.15.159",
"v5.15.158",
"v5.15.157",
"v5.15.156",
"v5.15.155",
"v5.15.154",
"v5.15.153",
"v5.15.152",
"v5.15.151",
"v5.15.150",
"v5.15.149",
"v5.15.148",
"v5.15.147",
"v5.15.146",
"v5.15.145",
"v5.15.144",
"v5.15.143",
"v5.15.142",
"v5.15.141",
"v5.15.140",
"v5.15.139",
"v5.15.138",
"v5.15.137",
"v5.15.136",
"v5.15.135",
"v5.15.134",
"v5.15.133",
"v5.15.132",
"v5.15.131",
"v5.15.130",
"v5.15.129",
"v5.15.128",
"v5.15.127",
"v5.15.126",
"v5.15.125",
"v5.15.124",
"v5.15.123",
"v5.15.122",
"v5.15.121",
"v5.15.120",
"v5.15.119",
"v5.15.118",
"v5.15.117",
"v5.15.116",
"v5.15.115",
"v5.15.114",
"v5.15.113",
"v5.15.112",
"v5.15.111",
"v5.15.110",
"v5.15.109",
"v5.15.108",
"v5.15.107",
"v5.15.106",
"v5.15.105",
"v5.15.104",
"v5.15.103",
"v5.15.102",
"v5.15.101",
"v5.15.100",
"v5.15.99",
"v5.15.98",
"v5.15.97",
"v5.15.96",
"v5.15.95",
"v5.15.94",
"v5.15.93",
"v5.15.92",
"v5.15.91",
"v5.15.90",
"v5.15.89",
"v5.15.88",
"v5.15.87",
"v5.15.86",
"v5.15.85",
"v5.15.84",
"v5.15.83",
"v5.15.82",
"v5.15.81",
"v5.15.80",
"v5.15.79",
"v5.15.78",
"v5.15.77",
"v5.15.76",
"v5.15.75",
"v5.15.74",
"v5.15.73",
"v5.15.72",
"v5.15.71",
"v5.15.70",
"v5.15.69",
"v5.15.68",
"v5.15.67",
"v5.15.66",
"v5.15.65",
"v5.15.64",
"v5.15.63",
"v5.15.62",
"v5.15.61"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64033.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "5.15.209"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.175"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.17.0"
},
{
"fixed": "6.6.142"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.12.92"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.18.34"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "7.0.11"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64033.json"
}
}
],
"modified": "2026-10-28T02:30:26.474782789Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/00904a73272b9f3ef3952fe69a833909dccad1ef",
"https://git.kernel.org/stable/c/01e42aabaf7632beb4bf235c7238b96c746d4144",
"https://git.kernel.org/stable/c/548f3956e53a7f7bde912d8129010b8986d5e602",
"https://git.kernel.org/stable/c/5b74373390113fba798a76b483837029ab010fef",
"https://git.kernel.org/stable/c/92060ab1c5115674cf319175550f85f68405121f",
"https://git.kernel.org/stable/c/b0e9706fb2859064bb6c677554c4d20c713aa8e0",
"https://git.kernel.org/stable/c/eae62c5451e67e8b033c1681fd3b85d7e9a9a28f",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64033.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-64033",
"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/2026/64xxx/CVE-2026-64033.json"
}
},
"related_cves": [
{
"value": "CVE-2026-64033",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 492728,
"published_at": "2026-07-19T15:39:22.872+00:00"
}