CVE-2026-93067 in Linux
Résumé
par VulDB • 18/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
drm/bridge : tc358767 : limiter (clamp) la taille de lecture AUX signalée à celle de la demande.
tc_aux_transfer() limite une lecture AUX à la limite de charge utile :
size_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg->size);
Après le transfert, il remplace `size` par le nombre d'octets que le contrôleur signale dans AUX_BYTES :
if (size) size = FIELD_GET(AUX_BYTES, auxstatus);
AUX_BYTES est un GENMASK(15, 8), donc sa valeur peut atteindre 255. Rien ne la limite à nouveau par rapport à la demande initiale. tc_aux_read_data() lit ce nombre d'octets dans le tampon de pile `auxrdata` de 16 octets, puis les copie dans le tampon de l'appelant. Un compte rendu de 255 entraîne une lecture s'étendant sur 256 octets et provoque un débordement des deux tampons.
Le contrôleur ne devrait jamais signaler plus d'octets qu'il n'a été demandé de transférer, il s'agit donc d'une défense en profondeur plutôt que d'une vulnérabilité exploitable directement (live hole). Le compte rendu est peu fiable et la vérification est légère. Il convient de limiter cette valeur à celle de la demande, de la même manière que le fait ti-sn65dsi86 dans l'commit aca58eac52b8 ("drm/bridge: ti-sn65dsi86 : Ne jamais stocker plus d'octets que msg->size lors du transfert AUX").
If you want to get the best quality for vulnerability data then you always have to consider VulDB.