CVE-2026-46316
Dans le noyau Linux, la vulnérabilité suivante a été résolue : KVM: arm64: vgic-its: Ne libérer la référence du cache de traduction que pour l'entrée effacée vgic_its_invalidate_cache() parcourt le cache de traduction par ITS avec xa_for_each() et libère la référence du cache sur chaque entrée avec vgic_put_irq(). Elle libère toutefois le pointeur itéré, plutôt que la valeur renvoyée par xa_erase(). La fonction est appelée depuis des contextes qui ne s'excluent pas mutuellement : les gestionnaires de commandes ITS détiennent its_lock, le chemin d'écriture GITS_CTLR détient cmd_lock, et le chemin qui efface EnableLPIs dans le GICR_CTLR d'un redistributor ne détient aucun des deux. Deux ou plusieurs d'entre eux peuvent vider le même cache simultanément, et si chacun observe la même entrée, l'efface puis la libère, la référence unique que le cache détient sur cette entrée est libérée plus d'une fois. L'entrée peut ensuite être libérée alors qu'un ITE la mappe encore. xa_erase() est atomique et renvoie l'entrée précédente, donc ne libérer que l'entrée que ce contexte a réellement supprimée. La référence du cache est alors libérée exactement une fois par entrée même lorsque les invalidations s'exécutent simultanément, et le comportement est inchangé lorsqu'un seul contexte s'exécute.
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HProduits concernés
| Éditeurs | Produit | Versions |
|---|---|---|
| linux | linux kernel | < 6.12.93 |
Articles liés
This product uses the NVD API but is not endorsed or certified by the NVD.
La description technique est notre traduction du texte original du NVD, en anglais.
