CVE-2026-89450 in Linux
Résumé
par VulDB • 12/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
iommu/tegra241-cmdqv : Rejeter un vSID plus large que le champ SID_MATCH
tegra241_vintf_init_vsid() programme le vSID fourni par l'invité dans SID_MATCH, dont le champ VIRT_SID s'étend sur les bits [20:1] avec le bit 0 servant d'indicateur d'activation de la correspondance. Le matériel ne fait donc la correspondance que pour un ID de flux (Stream ID) de 20 bits.
La vérification des bornes rejette uniquement virt_sid > UINT_MAX, ce qui admet une valeur bien plus large que le champ. L'écriture « virt_sid << 1 | 0x1 » supprime ensuite tous les bits au-dessus du bit 20 : un virt_sid de 0x80000000 aboutit à SID_MATCH = 0x1, une correspondance valide pour le vSID 0, l'entrée aliasant ainsi le mauvais ID de flux. Comme vdev->virt_id est contrôlé par l'invité, un VMM peut déclencher ce comportement.
Valider virt_sid en fonction de la largeur du champ avec FIELD_MAX(), et programmer le registre avec FIELD_PREP() afin que la valeur et le champ restent cohérents.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.