Aller au contenu

CVE-2026-23288 : écriture hors limites dans le tampon de commandes NPU AMD XDNA (noyau Linux)

HERMES

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

Cible : drivers/accel/amdxdna/ (AMD XDNA NPU Accelerator Subsystem)
Confiance : 95%
85 / 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-23288 la note de 7.8 (HIGH, CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). Le score opérationnel Hermes évalue le risque à 85 (HIGH) en raison de la criticité de l'exécution en espace noyau.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-23288: Linux Kernel AMD XDNA NPU Command Ring Out-of-Bounds WriteVULNÉ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 drivers/accel/amdxdna/ (AMD XDNA NPU Accelerator Subsystem) 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-23288Bulletin officiel de sécurité du noyau Linux
Sous-système affectédrivers/accel/amdxdna/ (AMD XDNA NPU Accelerator Subsystem)Sous-système du noyau Linux
Classe de faiblesseCWE-787: Out-of-bounds WriteDéfaut de sûreté mémoire et validation des limites
Score CVSS v3.17.8 (HIGH / Score Hermes 85)CVSS:3.1/AV:L/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.20Déployée sur les branches LTS (6.6, 6.12, 6.18+)
Techniques MITRE ATT&CKT1068 - Exploitation for Privilege Escalation, T1014 - RootkitÉlévation de privilèges et évasion de défenses
Référence forensiqueAnalyse forensique des modules et rootkits 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 drivers/accel/amdxdna/ (AMD XDNA NPU Accelerator Subsystem) met en lumière les défaillances de contrôle de bornes ou de synchronisation du cycle de vie mémoire.

// Vulnerable memset calculation in drivers/accel/amdxdna/xdna_cmd.c
int amdxdna_cmd_ring_init(struct amdxdna_client *client, struct amdxdna_cmd_ring *ring)
{
u32 num_slots = ring->num_slots;
size_t ring_size = num_slots * sizeof(struct xdna_cmd_slot);
ring->slots = dma_alloc_coherent(client->dev, ring_size, &ring->dma_addr, GFP_KERNEL);
if (!ring->slots) return -ENOMEM;
/* VULNERABILITY: num_slots * sizeof(struct xdna_cmd) instead of sizeof(struct xdna_cmd_slot)
where xdna_cmd is significantly larger than xdna_cmd_slot! */
memset(ring->slots, 0, num_slots * sizeof(struct xdna_cmd)); // Out-of-bounds write!
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 attaquant local sans privilèges sur un système doté d’un NPU AMD Ryzen AI ouvre /dev/accel/accel0 et émet un appel IOCTL pour initialiser un anneau de commandes avec un nombre élevé de slots.
  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 drivers/accel/amdxdna/ (AMD XDNA NPU Accelerator Subsystem).
  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 : Corrupted slab detected at amdxdna_cmd_ring_init or BUG: KASAN: slab-out-of-bounds in amdxdna. Détectez les alertes KASAN ou les erreurs de pagination mémoire dans drivers/accel/amdxdna/.

sigma_kernel_cve_2026_23288.yaml
title: AMD XDNA NPU Driver Anomalous Ring Allocation IOCTL (FR)
id: cve-2026-23288
status: experimental
description: Détecte les anomalies de crash noyau et les traces d'exploitation associées à la CVE-2026-23288.
logsource:
category: kernel
product: linux
detection:
selection_dmesg:
- 'Corrupted'
- 'drivers'
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.20 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 Analyse forensique des modules et rootkits Linux.