CVE-2026-74453 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/vc4: Den Tile-State-Datenarray vor jedem BIN-Job auf Null setzen.
Der Binner-BO (Buffer Object) ist ein einzelner 16-MB-Puffer, der in 512-kB-Slots unterteilt ist, die bei Einreichung an Jobs ausgegeben und nach Abschluss der Jobs wiederverwendet werden, ohne jemals gelöscht zu werden. Jeder Slot enthält am Anfang den Tile State Data Array (TSDA) des Jobs, gefolgt vom Tile-Allokationspool.
Während der Tile-Allokationspool nur vom Render-Thread durchlaufen wird, indem er die von dem Binner während des aktuellen Jobs generierten Zweige verfolgt, ist der TSDA das eigene pro-Tile-Buchhaltungssystem des PTB (Tile Processing Block) und wird direkt von der Hardware verarbeitet. Obwohl der Kernel das Flag „Auto-initialise Tile State Data Array“ in der Konfiguration des Tile-Binning-Modus setzt, reagiert der PTB nachweislich weiterhin auf veraltete Tile-Zustände, die vom vorherigen Benutzer des Slots hinterlassen wurden: Der Binner erstellt ungültige Befehlsströme mit ungültigen Primitivströmen und Zweigen, was zu GPU-Hangs führen kann, wie in [1][2] beobachtet.
Setzen Sie den TSDA auf Null, wenn der Binning-Slot des Jobs konfiguriert wird. Dies löscht 48 Bytes pro Tile (~24 KB für einen 1080p-Rahmen) im Einreichungspfad und garantiert, dass der PTB niemals Tile-Zustände eines anderen Jobs sieht.
Die Tile-Anzahl wird heute nur auf Ungleich Null geprüft, sodass die 8-Bit-Felder, aus denen sie stammt, einen Tile-State-Array beschreiben können, der fast sechsmal größer ist als der Slot, in dem er untergebracht werden muss. Begrenzen Sie dies, bevor der Slot ausgegeben wird, da diese Größe bestimmt, wie viel des Slots für den Tile-Allokationspool übrig bleibt.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.