CVE-2026-46263 in Linuxinformation

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.

Responsable

Linux

Réserver

13/05/2026

Divulgation

03/06/2026

Modérer

accepté

Entrée

VDB-368168

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!