CVE-2026-93067 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/bridge: tc358767: Begrenzung der gemeldeten AUX-Lesegröße auf die Anfrage
tc_aux_transfer() begrenzt eine AUX-Lesung auf das Payload-Limit:
size_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg->size);
Nach dem Transfer wird size durch die vom Controller in AUX_BYTES gemeldete Byte-Anzahl ersetzt:
if (size) size = FIELD_GET(AUX_BYTES, auxstatus);
AUX_BYTES ist GENMASK(15, 8), kann also bis zu 255 betragen. Nichts begrenzt es zurück auf die ursprüngliche Anfrage. tc_aux_read_data() liest diese vielen Bytes in den 16-Byte großen Stack-Puffer auxrdata und kopiert sie dann in den Puffer des Aufrufers. Eine gemeldete Anzahl von 255 führt dazu, dass der Lesevorgang bis zu 256 Byte ausführt und sowohl diesen als auch den Zielpuffer überläuft (Buffer Overflow).
Der Controller sollte niemals mehr melden, als er zur Übertragung aufgefordert wurde; dies stellt daher eine Defense-in-Depth-Maßnahme dar und keine aktive Schwachstelle. Die gemeldete Anzahl wird nur geringfügig vertraut, und die Prüfung ist kostengünstig. Begrenzen Sie sie zurück auf die Anfrage, genau wie es ti-sn65dsi86 in Commit aca58eac52b8 („drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer“) tut.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.