ksmbd: fix use-after-free of share_conf in compound request
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free of share_conf in compound request smb2_get_ksmbd_tcon() reuses work->tcon in compound requests without validating tcon->t_state. ksmbd_tree_conn_lookup() checks t_state == TREE_CONNECTED on the initial lookup path, but the compound reuse path bypasses this check entirely. If a prior command in the compound (SMB2_TREE_DISCONNECT) sets t_state to TREE_DISCONNECTED and frees share_conf via ksmbd_share_config_put(), subsequent commands dereference the freed share_conf through work->tcon->share_conf. KASAN report: [ 4.144653] ================================================================== [ 4.145059] BUG: KASAN: slab-use-after-free in smb2_write+0xc74/0xe70 [ 4.145415] Read of size 4 at addr ffff88810430c194 by task kworker/1:1/44 [ 4.145772] [ 4.145867] CPU: 1 UID: 0 PID: 44 Comm: kworker/1:1 Not tainted 7.0.0-rc3+ #60 PREEMPTLAZY [ 4.145871] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 4.145875] Workqueue: ksmbd-io handle_ksmbd_work [ 4.145888] Call Trace: [ 4.145892] [ 4.145894] dump_stack_lvl+0x64/0x80 [ 4.145910] print_report+0xce/0x660 [ 4.145919] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 4.145928] ? smb2_write+0xc74/0xe70 [ 4.145931] kasan_report+0xce/0x100 [ 4.145934] ? smb2_write+0xc74/0xe70 [ 4.145937] smb2_write+0xc74/0xe70 [ 4.145939] ? __pfx_smb2_write+0x10/0x10 [ 4.145942] ? _raw_spin_unlock+0xe/0x3
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.15.203, 6.1.167, 6.12.78, 6.18.20, 6.19.10, 6.6.130
- CVEs
- CVE-2026-23428
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 17:44 UTC · Revision 1
Source evidence
ksmbd: fix use-after-free of share_conf in compound request
core-osv · Original sourcePublished 3 Apr 2026, 15:15 UTC
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free of share_conf in compound request smb2_get_ksmbd_tcon() reuses work->tcon in compound requests without validating tcon->t_state. ksmbd_tree_conn_lookup() checks t_state == TREE_CONNECTED on the initial lookup path, but the compound reuse path bypasses this check entirely. If a prior command in the compound (SMB2_TREE_DISCONNECT) sets t_state to TREE_DISCONNECTED and frees share_conf via ksmbd_share_config_put(), subsequent commands dereference the freed share_conf through work->tcon->share_conf. KASAN report: [ 4.144653] ================================================================== [ 4.145059] BUG: KASAN: slab-use-after-free in smb2_write+0xc74/0xe70 [ 4.145415] Read of size 4 at addr ffff88810430c194 by task kworker/1:1/44 [ 4.145772] [ 4.145867] CPU: 1 UID: 0 PID: 44 Comm: kworker/1:1 Not tainted 7.0.0-rc3+ #60 PREEMPTLAZY [ 4.145871] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 4.145875] Workqueue: ksmbd-io handle_ksmbd_work [ 4.145888] Call Trace: [ 4.145892] [ 4.145894] dump_stack_lvl+0x64/0x80 [ 4.145910] print_report+0xce/0x660 [ 4.145919] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 4.145928] ? smb2_write+0xc74/0xe70 [ 4.145931] kasan_report+0xce/0x100 [ 4.145934] ? smb2_write+0xc74/0xe70 [ 4.145937] smb2_write+0xc74/0xe70 [ 4.145939] ? __pfx_smb2_write+0x10/0x10 [ 4.145942] ? _raw_spin_unlock+0xe/0x3
osv:CVE-2026-23428
Kernel
Fixed versions: 5.15.203, 6.1.167, 6.6.130, 6.12.78, 6.18.20, 6.19.10
Complete source record
{
"id": "a62f6b22c0fb5d345affa563093fb77b964ce200b7675671f94ce22be46e0bb1",
"url": "https://osv.dev/vulnerability/CVE-2026-23428",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "ksmbd: fix use-after-free of share_conf in compound request",
"summary": "In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free of share_conf in compound request smb2_get_ksmbd_tcon() reuses work->tcon in compound requests without validating tcon->t_state. ksmbd_tree_conn_lookup() checks t_state == TREE_CONNECTED on the initial lookup path, but the compound reuse path bypasses this check entirely. If a prior command in the compound (SMB2_TREE_DISCONNECT) sets t_state to TREE_DISCONNECTED and frees share_conf via ksmbd_share_config_put(), subsequent commands dereference the freed share_conf through work->tcon->share_conf. KASAN report: [ 4.144653] ================================================================== [ 4.145059] BUG: KASAN: slab-use-after-free in smb2_write+0xc74/0xe70 [ 4.145415] Read of size 4 at addr ffff88810430c194 by task kworker/1:1/44 [ 4.145772] [ 4.145867] CPU: 1 UID: 0 PID: 44 Comm: kworker/1:1 Not tainted 7.0.0-rc3+ #60 PREEMPTLAZY [ 4.145871] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 4.145875] Workqueue: ksmbd-io handle_ksmbd_work [ 4.145888] Call Trace: [ 4.145892] [ 4.145894] dump_stack_lvl+0x64/0x80 [ 4.145910] print_report+0xce/0x660 [ 4.145919] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 4.145928] ? smb2_write+0xc74/0xe70 [ 4.145931] kasan_report+0xce/0x100 [ 4.145934] ? smb2_write+0xc74/0xe70 [ 4.145937] smb2_write+0xc74/0xe70 [ 4.145939] ? __pfx_smb2_write+0x10/0x10 [ 4.145942] ? _raw_spin_unlock+0xe/0x3",
"evidence": "osv:CVE-2026-23428",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.15.203",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.167",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.130",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.78",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.20",
"evidence": "/affected/1/ranges"
},
{
"value": "6.19.10",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "critical",
"structured": {
"id": "CVE-2026-23428",
"aliases": [
"CVE-2026-23428"
],
"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": "eb947403518ea3d93f6d89264bb1f5416bb0c7d0"
},
{
"fixed": "d08417981155883068b7260d9500ca306a03edac"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "854156d12caa9d36de1cf5f084591c7686cc8a9d"
},
{
"fixed": "eae0dc86f71e6f3294c0cd7ffc05039258d243af"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5005bcb4219156f1bf7587b185080ec1da08518e"
},
{
"fixed": "806f13752652216db0c309392b4db3e64eeed4f2"
},
{
"fixed": "c742b46a153d3ff95ff0825ab1950c87b9e14470"
},
{
"fixed": "7f7468fd2a7554cea91b7d430335a3dbf01dcc09"
},
{
"fixed": "a5929c2020ce54e1dcbd1078c0f30b8aaf73c105"
},
{
"fixed": "c33615f995aee80657b9fdfbc4ee7f49c2bd733d"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.15.121"
},
{
"fixed": "5.15.203"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.1.36"
},
{
"fixed": "6.1.167"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.3.10"
},
{
"fixed": "6.4"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "d1066c1b3663401cd23c0d6e60cdae750ce00c0f"
}
]
}
],
"versions": [
"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",
"v6.1.166",
"v6.1.165",
"v6.1.164",
"v6.1.163",
"v6.1.162",
"v6.1.161",
"v6.1.160",
"v6.1.159",
"v6.1.158",
"v6.1.157",
"v6.1.156",
"v6.1.155",
"v6.1.154",
"v6.1.153",
"v6.1.152",
"v6.1.151",
"v6.1.150",
"v6.1.149",
"v6.1.148",
"v6.1.147",
"v6.1.146",
"v6.1.145",
"v6.1.144",
"v6.1.143",
"v6.1.142",
"v6.1.141",
"v6.1.140",
"v6.1.139",
"v6.1.138",
"v6.1.137",
"v6.1.136",
"v6.1.135",
"v6.1.134",
"v6.1.133",
"v6.1.132",
"v6.1.131",
"v6.1.130",
"v6.1.129",
"v6.1.128",
"v6.1.127",
"v6.1.126",
"v6.1.125",
"v6.1.124",
"v6.1.123",
"v6.1.122",
"v6.1.121",
"v6.1.120",
"v6.1.119",
"v6.1.118",
"v6.1.117",
"v6.1.116",
"v6.1.115",
"v6.1.114",
"v6.1.113",
"v6.1.112",
"v6.1.111",
"v6.1.110",
"v6.1.109",
"v6.1.108",
"v6.1.107",
"v6.1.106",
"v6.1.105",
"v6.1.104",
"v6.1.103",
"v6.1.102",
"v6.1.101",
"v6.1.100",
"v6.1.99",
"v6.1.98",
"v6.1.97",
"v6.1.96",
"v6.1.95",
"v6.1.94",
"v6.1.93",
"v6.1.92",
"v6.1.91",
"v6.1.90",
"v6.1.89",
"v6.1.88",
"v6.1.87",
"v6.1.86",
"v6.1.85",
"v6.1.84",
"v6.1.83",
"v6.1.82",
"v6.1.81",
"v6.1.80",
"v6.1.79",
"v6.1.78",
"v6.1.77",
"v6.1.76",
"v6.1.75",
"v6.1.74",
"v6.1.73",
"v6.1.72",
"v6.1.71",
"v6.1.70",
"v6.1.69",
"v6.1.68",
"v6.1.67",
"v6.1.66",
"v6.1.65",
"v6.1.64",
"v6.1.63",
"v6.1.62",
"v6.1.61",
"v6.1.60",
"v6.1.59",
"v6.1.58",
"v6.1.57",
"v6.1.56",
"v6.1.55",
"v6.1.54",
"v6.1.53",
"v6.1.52",
"v6.1.51",
"v6.1.50",
"v6.1.49",
"v6.1.48",
"v6.1.47",
"v6.1.46",
"v6.1.45",
"v6.1.44",
"v6.1.43",
"v6.1.42",
"v6.1.41",
"v6.1.40",
"v6.1.39",
"v6.1.38",
"v6.1.37",
"v6.1.36",
"v6.3.13",
"v6.3.12",
"v6.3.11",
"v6.3.10"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23428.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "5.15.203"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.167"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.130"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.4.0"
},
{
"fixed": "6.12.78"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.18.20"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.19.10"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23428.json"
}
}
],
"modified": "2026-10-28T02:30:38.014752384Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/7f7468fd2a7554cea91b7d430335a3dbf01dcc09",
"https://git.kernel.org/stable/c/806f13752652216db0c309392b4db3e64eeed4f2",
"https://git.kernel.org/stable/c/a5929c2020ce54e1dcbd1078c0f30b8aaf73c105",
"https://git.kernel.org/stable/c/c33615f995aee80657b9fdfbc4ee7f49c2bd733d",
"https://git.kernel.org/stable/c/c742b46a153d3ff95ff0825ab1950c87b9e14470",
"https://git.kernel.org/stable/c/d08417981155883068b7260d9500ca306a03edac",
"https://git.kernel.org/stable/c/eae0dc86f71e6f3294c0cd7ffc05039258d243af",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23428.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-23428",
"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/23xxx/CVE-2026-23428.json"
}
},
"related_cves": [
{
"value": "CVE-2026-23428",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 505429,
"published_at": "2026-04-03T15:15:14.981+00:00"
}