CVE-2026-99016 in Linuxinformation

Résumé

par VulDB • 23/10/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

riscv: futex : désétaguer (untag) l'adresse utilisateur avant l'accès atomique

La fonction `access_ok()` vérifie `untagged_addr(uaddr)`, mais les fonctions `arch_futex_atomic_op_inuser()` et `futex_atomic_cmpxchg_inatomic()` transmettent le pointeur brut (`uaddr`) à l'instruction assembleur en ligne (inline asm) via l'opérateur `"+m" (*uaddr)` pour des opérations telles que `amoswap`, `amoadd` ou les paires d'instructions de chargement/décalage et de comparaison/échange (`lr.w` + `sc.w`). Lorsque l'ABI d'adresses étiquetées (tagged address ABI) est activée (`CONFIG_RISCV_ISA_SUPM`, avec `prctl PR_SET_TAGGED_ADDR_CTRL` et `PMLEN != 0`), ces deux adresses diffèrent : un pointeur utilisateur dont les bits supérieurs de longueur de mémoire physique (PMLen) contiennent une étiquette passe la vérification `access_ok()` après désétiquetage, mais l'opération atomique est ensuite exécutée sur l'adresse brute encore étiquetée.

Les accès aux données en mode superviseur ne sont pas soumis au masquage des pointeurs U-mode (qui est régi par `menvcfg.PMM`, que le noyau n'est pas configuré pour définir), donc le matériel ne supprime pas l'étiquette pour les propres accès du noyau. Avec Sv57 et PMLEN=16, les bits d'étiquette chevauchent les bits de l'adresse canonique ; ainsi, un pointeur étiqueté peut désigner une adresse virtuelle canonique du noyau (par exemple dans la carte linéaire) dont la forme non étiquetée est une adresse utilisateur valide. Un processus non privilégié peut donc amener `FUTEX_WAKE_OP` à effectuer une opération atomique de lecture-modification-écriture sur n'importe quelle adresse du noyau, le résultat correspondant de l'opération `FUTEX_OP_CMP_*` servant d'oracle de lecture (read oracle).

Les fonctions `get_user()`, `put_user()` et `raw_copy_{to,from}_user()` désétiquettent déjà le pointeur après la vérification `access_ok()` ; il convient de faire de même dans les assistants futex afin que l'opération atomique s'exécute sur l'adresse qui a été réellement validée.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

25/09/2026

Divulgation

23/10/2026

Modérer

accepté

Entrée

VDB-425827

EPSS

0.00000

KEV

non

Activités

faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!