Aller au contenu

CVE-2026-31718 : utilisation après libération (UAF) dans le ramasse-miettes de descripteurs durables ksmbd (noyau Linux)

HERMES

SCORE DE MENACE HERMES & SURFACE D'ATTAQUE DU NOYAU LINUX

Cible : fs/smb/server/vfs_cache.c (ksmbd durable handle scavenger)
Confiance : 95%
88 / 100
ÉLEVÉ

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 18 / 20
Activité de menace 16 / 20
Militarisation 17 / 20
Exposition 18 / 20
Prévalence 19 / 20
Impact 18 / 20
Maturité de l'exploit 17 / 20
Potentiel d'attaque en chaîne 19 / 20
⚖️ Divergence & Justification opérationnelle

Le score CVSS v3.1 attribue à la vulnérabilité CVE-2026-31718 la note de 8.1 (HIGH, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). Le score opérationnel Hermes évalue le risque à 88 (HIGH) en raison de la criticité de l'exécution en espace noyau.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-31718: Linux Kernel ksmbd Durable File Handle Scavenger Use-After-FreeVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTLinux Kernel Core
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Linux Kernel Core documented in Hermes dossier.”

Preuves vérifiées associées :

1. Contexte technique & matrice des versions affectées

Section intitulée « 1. Contexte technique & matrice des versions affectées »

Le noyau Linux constitue le socle fondamental des infrastructures serveurs, cloud et embarquées. Les vulnérabilités touchant des sous-systèmes critiques tels que fs/smb/server/vfs_cache.c (ksmbd durable handle scavenger) représentent un danger majeur d’évasion de conteneurs et de compromission complète des machines hôtes.

ParamètreSpécification techniqueContexte threat intelligence
Identifiant CVECVE-2026-31718Bulletin officiel de sécurité du noyau Linux
Sous-système affectéfs/smb/server/vfs_cache.c (ksmbd durable handle scavenger)Sous-système du noyau Linux
Classe de faiblesseCWE-416: Use-After-FreeDéfaut de sûreté mémoire et validation des limites
Score CVSS v3.18.1 (HIGH / Score Hermes 88)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Architectures ciblesx86_64, aarch64, arm64, riscv64Déploiements Linux serveurs et postes
Version amont corrigéeLinux 6.18.23Déployée sur les branches LTS (6.6, 6.12, 6.18+)
Techniques MITRE ATT&CKT1071.002 - Application Layer Protocol: SMB, T1068 - Exploitation for Privilege EscalationÉlévation de privilèges et évasion de défenses
Référence forensiqueJournaux d’authentification et sessions LinuxAnalyse mémoire et artefacts système Linux

2. Décomposition technique approfondie & cause racine

Section intitulée « 2. Décomposition technique approfondie & cause racine »

L’analyse du code source incriminé dans fs/smb/server/vfs_cache.c (ksmbd durable handle scavenger) met en lumière les défaillances de contrôle de bornes ou de synchronisation du cycle de vie mémoire.

// Race condition in fs/smb/server/vfs_cache.c
int __ksmbd_close_fd(struct ksmbd_work *work, struct ksmbd_file *fp)
{
write_lock(&fp->f_lock);
list_del_init(&fp->node);
write_unlock(&fp->f_lock);
/* VULNERABILITY: Scavenger thread holding fp pointer can race here
because refcount wasn't verified with kref_put_lock */
kmem_cache_free(filp_cache, fp); // Frees fp memory
// Concurrently, ksmbd_durable_scavenger() accesses fp->filp!
return 0;
}

Lorsque les conditions d’exploitation sont réunies, les descripteurs mémoire ou les pointeurs internes divergent des allocations initiales. Dans un noyau moderne avec randomisation KASLR et durcissement SLUB, un attaquant associe cette primitive à des techniques de heap spraying pour obtenir un contrôle stable de l’espace noyau.


3. Scénarios d’attaque & modélisation des menaces

Section intitulée « 3. Scénarios d’attaque & modélisation des menaces »
  1. Vecteur initial & prérequis : un client réseau authentifié ouvre plusieurs descripteurs durables via SMB3, simule des déconnexions/reconnexions et envoie une rafale de requêtes SMB2_CLOSE pile au moment de l’expiration du délai de grâce des descripteurs durables.
  2. Déclenchement de la primitive : l’attaquant émet des données forgées ou invoque un appel système spécifique qui active le chemin vulnérable dans fs/smb/server/vfs_cache.c (ksmbd durable handle scavenger).
  3. Corruption de mémoire : l’intégrité de la structure noyau est rompue en espace noyau.
  4. Conséquences opérationnelles : l’attaque aboutit soit à un déni de service immédiat (kernel panic paralysant le serveur), soit à une élévation locale de privilèges octroyant les droits root et l’évasion de conteneur.

4. Détection forensique, artefacts & logs système

Section intitulée « 4. Détection forensique, artefacts & logs système »

Les analystes du SOC et les intervenants en réponse à incident (DFIR) doivent exploiter les journaux du noyau, les traces d’audit et les sondes eBPF pour identifier les traces d’exploitation.

Journal du noyau (dmesg / journalctl)

Surveillez /var/log/dmesg ou journalctl -k à la recherche des motifs de crash suivants : BUG: unable to handle kernel paging request in ksmbd_durable_scavenger or general protection fault in __ksmbd_close_fd. Détectez les alertes KASAN ou les erreurs de pagination mémoire dans fs/smb/server/vfs_cache.c.

sigma_kernel_cve_2026_31718.yaml
title: Linux ksmbd Rapid SMB2 Durable Handle Churn and Close Race (FR)
id: cve-2026-31718
status: experimental
description: Détecte les anomalies de crash noyau et les traces d'exploitation associées à la CVE-2026-31718.
logsource:
category: kernel
product: linux
detection:
selection_dmesg:
- 'BUG:'
- 'fs'
condition: selection_dmesg
fields:
- Message
- Hostname
falsepositives:
- Défaillances matérielles de RAM ou tests unitaires noyau
level: high

5. Remédiation, durcissement & mesures d’atténuation

Section intitulée « 5. Remédiation, durcissement & mesures d’atténuation »

La résolution requiert l’application prioritaire des correctifs du noyau et le durcissement de la configuration système :

  1. Mise à niveau du noyau : installez la version officielle 6.18.23 ou les paquets de sécurité maintenus par votre distribution (Debian, Ubuntu, RHEL, Rocky Linux, SUSE).
  2. Isolation des modules : si le sous-système incriminé est compilé sous forme de module (.ko) et n’est pas strictement requis en production, désactivez-le via /etc/modprobe.d/blacklist.conf.
  3. Durcissement des sysctl : restreignez l’accès aux pointeurs et journaux du noyau via sysctl -w kernel.kptr_restrict=2 et sysctl -w kernel.dmesg_restrict=1.
  4. Surveillance forensique : pour approfondir l’investigation et la détection d’implants noyau, consultez notre guide sur Journaux d’authentification et sessions Linux.