ksmbd: fix use-after-free by using call_rcu() for oplock_info (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.44 % · percentile 39 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Analyzed
Description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free by using call_rcu() for oplock_info ksmbd currently frees oplock_info immediately using kfree(), even though it is accessed under RCU read-side critical sections in places like opinfo_get() and proc_show_files(). Since there is no RCU grace period delay between nullifying the pointer and freeing the memory, a reader can still access oplock_info structure after it has been freed. This can leads to a use-after-free especially in opinfo_get() where atomic_inc_not_zero() is called on already freed memory. Fix this by switching to deferred freeing using call_rcu().
Weaknesses (CWE)
- CWE-416 — Use After Free
References
- https://git.kernel.org/stable/c/302fef75512b2c8329a3f5efab1ae7ba2562387a
- https://git.kernel.org/stable/c/08aa9f3c8cf4d0bee44df540dfe34e8d64069f2c
- https://git.kernel.org/stable/c/1d6abf145615dbfe267ce3b0a271f95e3780e18e
- https://git.kernel.org/stable/c/ce8507ee82c888126d8e7565e27c016308d24cde
- https://git.kernel.org/stable/c/1dfd062caa165ec9d7ee0823087930f3ab8a6294
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | CRITICAL 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | CRITICAL 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
European references
- ENISA EUVD · EUVD-2026-28682
- GCVE · GCVE-0-2026-43376
CERT-FR advisories
- CERTFR-2026-AVI-0954 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0926 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0898 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0861 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0831 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.6.88 < 6.6.130cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.12.25 < 6.12.78cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.14.4 < 6.15cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.15.1 < 6.18.19cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.19 < 6.19.9cpe:2.3:o:linux:linux_kernel:6.15:-:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.15:rc3:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.15:rc4:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.15:rc5:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.15:rc6:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.15:rc7:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 296cb5457cc6f4a754c4ae29855f8a253d52bcc6 < 302fef75512b2c8329a3f5efab1ae7ba2562387a ; affected d54ab1520d43e95f9b2e22d7a05fc9614192e5a5 < 08aa9f3c8cf4d0bee44df540dfe34e8d64069f2c ; affected 18b4fac5ef17f77fed9417d22210ceafd6525fc7 < 1d6abf145615dbfe267ce3b0a271f95e3780e18e ; affected 18b4fac5ef17f77fed9417d22210ceafd6525fc7 < ce8507ee82c888126d8e7565e27c016308d24cde ; affected 18b4fac5ef17f77fed9417d22210ceafd6525fc7 < 1dfd062caa165ec9d7ee0823087930f3ab8a6294 ; affected d73686367ad68534257cd88a36ca3c52cb8b81d8 |
| Linux · Linux | affected 6.15 ; unaffected 0 < 6.15 ; unaffected 6.6.130 ≤ 6.6.* ; unaffected 6.12.78 ≤ 6.12.* ; unaffected 6.18.19 ≤ 6.18.* ; unaffected 6.19.9 ≤ 6.19.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |