> CVE-2026-31444

« BACK_TO_HOME
PUBLISHED
2026-04-22 14:16
MODIFIED
2026-04-22 14:16
EPSS (Prob. Exploit)
0.45%
Top 60.7%
DATA SOURCES:
NVD 🔗 2026-04-22 RED HAT 🔗 2026-04-26 FIRST EPSS 🔗 2026-11-08 OSV 🔗 2026-11-02 MSRC 🔗 2026-11-02

> DESCRIPTION

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free and NULL deref in smb_grant_oplock() smb_grant_oplock() has two issues in the oplock publication sequence: 1) opinfo is linked into ci->m_op_list (via opinfo_add) before add_lease_global_list() is called. If add_lease_global_list() fails (kmalloc returns NULL), the error path frees the opinfo via __free_opinfo() while it is still linked in ci->m_op_list. Concurrent m_op_list readers (opinfo_get_list, or direct iteration in smb_break_all_levII_oplock) dereference the freed node. 2) opinfo->o_fp is assigned after add_lease_global_list() publishes the opinfo on the global lease list. A concurrent find_same_lease_key() can walk the lease list and dereference opinfo->o_fp->f_ci while o_fp is still NULL. Fix by restructuring the publication sequence to eliminate post-publish failure: - Set opinfo->o_fp before any list publication (fixes NULL deref). - Preallocate lease_table via alloc_lease_table() before opinfo_add() so add_lease_global_list() becomes infallible after publication. - Keep the original m_op_list publication order (opinfo_add before lease list) so concurrent opens via same_client_has_lease() and opinfo_get_list() still see the in-flight grant. - Use opinfo_put() instead of __free_opinfo() on err_out so that the RCU-deferred free path is used. This also requires splitting add_lease_global_list() to take a preallocated lease_table and changing its return type from int to void, since it can no longer fail.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> RED HAT SEVERITY ASSESSMENT

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

ksmbd: fix use-after-free and NULL deref in smb_grant_oplock()

AFFECTED PACKAGES:
Unknown / Unknown
7 versions affected
Linux / Kernel

> HISTORIQUE DES MODIFICATIONS

Première apparition
22/04/2026 14:16
Source: NVD
📊 ENRICHISSEMENT 26/04/2026 05:01
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 23:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 22:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 21:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 20:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 19:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 18:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 17:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 16:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 15:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 14:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 13:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 12:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 11:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 10:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 09:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 08:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 07:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 06:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 05:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 04:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 03:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 02:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 01:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
{ "severity_scale": null, "threat_severity": null }
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 00:30
REDHAT
Champ modifié: Sévérité Red Hat
Ancienne valeur:
N/A
Nouvelle valeur:
{ "threat_severity": null, "severity_scale": null }
📊 ENRICHISSEMENT 23/04/2026 00:30
REDHAT
Champ modifié: Red Hat
Ancienne valeur:
Non
Nouvelle valeur:
Oui
Total des modifications: 26 Dernière mise à jour: 6 months ago

> REFERENCES

https://git.kernel.org/stable/c/48623ec358c1c600fa1e38368746f933e0f1a617
https://git.kernel.org/stable/c/6d7e5a918c1d0aad06db0e17677b66fc9a471021
https://git.kernel.org/stable/c/7de55bba69cbf0f9280daaea385daf08bc076121
https://git.kernel.org/stable/c/9e785f004cbc56390479b77375726ea9b0d1a8a6
https://git.kernel.org/stable/c/a5c6f6d6ceefed2d5210ee420fb75f8362461f46
« BACK_TO_HOME