CVE-2026-46263 in Linuxinfo

Zusammenfassung

von VulDB • 03.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

drm/amd/display: Fehlerhaften Indexzugriff auf Stream-Encoder beheben (v3)

eng_id kann negativ sein, und stream_enc_regs[] kann außerhalb des gültigen Bereichs indiziert werden.

eng_id wird direkt als Index für stream_enc_regs[] verwendet, das nur 5 Einträge besitzt. Wenn eng_id den Wert 5 (ENGINE_ID_DIGF) hat oder negativ ist, kann dies zu einem Zugriff auf Speicher hinter dem Ende des Arrays führen.

Vor der Verwendung von eng_id als Index wird eine Bereichsprüfung mit ARRAY_SIZE() hinzugefügt. Die Umwandlung in einen vorzeichenlosen Typ (unsigned cast) lehnt zudem negative Werte ab.

Dies vermeidet einen Zugriff außerhalb des gültigen Bereichs (Out-of-Bounds).

Behebt den folgenden smatch-Fehler: dcn*_resource.c: stream_encoder_create() kann stream_enc_regs[eng_id] außerhalb des gültigen Bereichs indizieren (Größe 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 /* Zuordnung der VPG-, AFMT- und DME-Registerblöcke zur DIO-Block-Instanz */ 1257 if (eng_id <= ENGINE_ID_DIGF) {

ENGINE_ID_DIGF ist 5. Sollte <= nicht < sein?

Unabhängig davon, aber ugh, warum sagt Smatch, dass „eng_id“ negativ sein kann? end_id ist vom Typ signed long, aber es gibt Prüfungen im Aufrufer, die verhindern, dass er negativ ist.

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],
^^^^^^^^^^^^^^^^^^^^^^^ Dieses stream_enc_regs[]-Array hat 5 Elemente, daher greifen wir ein Element über das Ende des Arrays hinaus.

...

1287 return &enc1->base; 1288 }

v2: Explizite Bereichsprüfung gemäß Vorschlag von Roman/Dan verwenden; Umwandlung in unsigned int vermeiden

v3: Der Compiler weiß bereits, wie die beiden Werte zu vergleichen sind, daher ist die Umwandlung (int) nicht erforderlich. (Roman)

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

13.05.2026

Veröffentlichung

03.06.2026

Moderieren

akzeptiert

Eintrag

VDB-368168

CPE

bereit

EPSS

0.00012

KEV

nein

Aktivitäten

low

Quellen

Do you know our Splunk app?

Download it now for free!