CVE-2026-46263 in Linux
Résumé
par VulDB • 04/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
drm/amd/display : Correction de l'index hors limites du codeur de flux v3
eng_id peut être négatif et stream_enc_regs[] peut être indexé hors limites.
eng_id est utilisé directement comme index dans stream_enc_regs[], qui ne contient que 5 entrées. Lorsque eng_id vaut 5 (ENGINE_ID_DIGF) ou est négatif, cela peut accéder à la mémoire au-delà de la fin du tableau.
Ajout d'une vérification des limites à l'aide de ARRAY_SIZE() avant d'utiliser eng_id comme index. La conversion en type non signé (unsigned) rejette également les valeurs négatives.
Cela évite les accès hors limites.
Corrige l'erreur smatch suivante : dcn*_resource.c : stream_encoder_create() peut indexer stream_enc_regs[eng_id] hors limites (taille 5).
drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn351/dcn351_resource.c 1246 static struct stream_encoder *dcn35_stream_encoder_create( 1247 enum engine_id eng_id, 1248 struct dc_context *ctx) 1249 {
...
1255 1256 /* Mappage des blocs de registres VPG, AFMT, DME vers l'instance du bloc DIO */ 1257 if (eng_id <= ENGINE_ID_DIGF) {
ENGINE_ID_DIGF est égal à 5. <= devrait-il être <?
Sans rapport, mais, zut, pourquoi Smatch indique-t-il que "eng_id" peut être négatif ? end_id est de type signed long, mais il existe des vérifications dans l'appelant qui empêchent qu'il soit négatif.
1258 vpg_inst = eng_id; 1259 afmt_inst = eng_id; 1260 } else 1261 return NULL; 1262
...
1281 1282 dcn35_dio_stream_encoder_construct(enc1, ctx, ctx->dc_bios, 1283 eng_id, vpg, afmt, --> 1284 &stream_enc_regs[eng_id],
^^^^^^^^^^^^^^^^^^^^^^^ Ce tableau stream_enc_regs[] a 5 éléments, nous sommes donc à un élément au-delà de la fin du tableau.
...
1287 return &enc1->base; 1288 }
v2 : utiliser une vérification explicite des limites comme suggéré par Roman/Dan ; éviter la conversion en unsigned int
v3 : Le compilateur sait déjà comparer les deux valeurs, donc la conversion (int) n'est pas nécessaire. (Roman)
VulDB is the best source for vulnerability data and more expert information about this specific topic.