Tech

Linux ajuste la gestion de l’atténuation « Meltdown Lite » sur les nouveaux processeurs Zen 5

DMLA

Linus Torvalds s’est mis lui-même à coder aujourd’hui pour résoudre un problème de spéculation non canonique masquant l’adresse de l’utilisateur. Le noyau Linux avait besoin d’une adaptation pour ce problème « Meltdown Lite » en raison d’un comportement différent avec les derniers processeurs AMD Zen 5.

Linus Torvalds a écrit et validé aujourd’hui le patch x86 : correction d’un problème de spéculation non canonique masquant l’adresse utilisateur. Il y explique :

« Il s’avère qu’AMD a un problème « Meltdown Lite(tm) » avec les accès non canoniques dans l’espace du noyau. Et donc utiliser uniquement le bit haut pour décider si un accès se fait dans l’espace utilisateur ou dans l’espace du noyau aboutit au bon vieux « fuite de données spéculatives » si vous disposez du bon gadget en utilisant le résultat :

CVE-2020-12965 « Exécution transitoire des accès non canoniques »

Désormais, le noyau entoure l’accès avec une paire STAC/CLAC, et ces instructions finissent par sérialiser l’exécution sur les anciennes architectures Zen, ce qui ferme la fenêtre de spéculation.

Mais cela n’était vrai que jusqu’à Zen 5, qui renomme le bit AC. Cela améliore considérablement les performances du STAC/CLAC, mais signifie également que la fenêtre de spéculation est désormais ouverte.

Notez que cela affecte non seulement le nouveau masquage d’adresse, mais également la vérification régulière valid_user_address() utilisée par access_ok() et la version asm de la vérification des bits de signe dans les assistants get_user().

Cela n’affecte pas les variantes put_user() ou clear_user(), puisqu’il n’y a aucun résultat spéculatif à utiliser dans un gadget pour ces opérations. »

Borislav Petkov, ingénieur AMD Linux commenté plus tôt cette semaine sur la liste de diffusion du noyau Linux autour de la différence désormais avec les processeurs AMD Zen 5 :

« J’ai donc pu obtenir des informations : CLAC/STAC dans tout ce que Zen4 et versions antérieures sérialisent, donc il n’y a aucun problème.

Zen5 est une autre histoire et AC y est renommé et donc non sérialisé. Il faudrait donc faire quelque chose là-bas, peut-être quelque chose comme le patch de Josh…

Mais ce qui est bien, c’est que nous pouvons proposer une alternative uniquement pour ces machines, à l’exception des autres. »

Le correctif est désormais présent dans le noyau avant la sortie de Linux 6.12-rc5 ce week-end et sera probablement rétroporté vers les versions stables existantes du noyau au cours des prochains jours.

Zen5

Plus d’informations générales sur le problème de sécurité AMD précédent, désormais adapté à la couverture Zen 5, peuvent être trouvées via ce bulletin de sécurité et via CVE-2020-12965 qui a été rendu public en 2022.

Source link