CVE-2026-64085 in Linux
Zusammenfassung
von VulDB • 20.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
hwmon: (pmbus/adm1266) Weiterleitung von Blackbox-Aufzeichnungen über einen Puffer in Protokollgröße
adm1266_pmbus_block_xfer() kopiert das vom Gerät bereitgestellte Block-Payload unter Verwendung der vom Gerät angegebenen Länge in den vom Aufrufer bereitgestellten Puffer:
memcpy(data_r, &msgs[1].buf[1], msgs[1].buf[0]);
Die Hilfsfunktion weiß nicht, wie groß data_r ist und vertraut darauf, dass das Gerät höchstens die Anzahl an Bytes zurückgibt, die einem Datensatz entsprechen. adm1266_nvmem_read_blackbox() verstößt gegen diese Vereinbarung: Es erhöht read_buff innerhalb von data->dev_mem in Schritten der Größe ADM1266_BLACKBOX_SIZE (64 Byte), während die Hilfsfunktion bis zu ADM1266_PMBUS_BLOCK_MAX (255) Bytes schreiben kann. Ein Gerät, das mehr als 64 Bytes im letzten Datensatz zurückgibt (read_buff-Offset 1984 in der 2048-Byte-dev_mem-Zuweisung), verursacht einen Pufferüberlauf von bis zu 191 Byte vor dem Aufruf
if (ret != ADM1266_BLACKBOX_SIZE) return -EIO;
der die Antwort ablehnen kann.
Begrenzen Sie die Korrektur auf den Aufrufer, ohne die Signatur der Hilfsfunktion zu ändern: Lesen Sie jeden Datensatz in einen lokalen Bounce-Puffer mit 255 Byte, der dem maximalen Ausgangswert der Hilfsfunktion entspricht, validieren Sie die zurückgegebene Länge und kopieren Sie erst dann genau ADM1266_BLACKBOX_SIZE Bytes in den dev_mem-Slot.
If you want to get best quality of vulnerability data, you may have to visit VulDB.