CVE-2026-93190 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
platform/chrome: cros_ec_typec: Ablehnung von PD-Capacity-Zählwerten außerhalb des gültigen Bereichs (out-of-bounds)
Die Funktion `cros_typec_register_partner_pdos()` kopiert die PDOs (Power Data Objects) des Partners aus der EC-TYPEC_STATUS-Antwort in das Array `caps_desc.pdo[PDO_MAX_OBJECTS]`.
```c memcpy(caps_desc.pdo, resp->source_cap_pdos, sizeof(u32) * resp->source_cap_count); ... memcpy(caps_desc.pdo, resp->sink_cap_pdos, sizeof(u32) * resp->sink_cap_count); ```
`PDO_MAX_OBJECTS` ist 7. `source_cap_count` und `sink_cap_count` sind u8-Felder aus dem EC (Embedded Controller). Die einzige Prüfung besteht darin, dass sie nicht beide null sind. Wenn einer der Werte größer als 7 ist, schreibt `memcpy` über das Ende des Arrays im Stack hinaus. Ein Zählwert von 255 führt zu einem Überlauf um etwa 1 KB. Die Quell-Arrays des EC haben nur sieben Einträge. Bei größeren Werten wird auch hierüber hinausgelesen.
Die ChromeOS-EC-Firmware begrenzt diese Zählwerte derzeit, sodass eine konforme Konfiguration dieses Problem nicht auslöst. Der Kernel sollte diese Werte dennoch validieren und ihnen nicht blind vertrauen.
Validieren Sie die Zählwerte in `cros_typec_register_partner_pdos()` direkt neben dem `memcpy`. Überspringen Sie die PDO-Registrierung, wenn einer der Zählwerte über `PDO_MAX_OBJECTS` liegt. Der Rest von `cros_typec_handle_status()` wird weiterhin ausgeführt, sodass Ereignisse verarbeitet und gelöscht werden.
If you want to get best quality of vulnerability data, you may have to visit VulDB.