CVE-2026-74549 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
hwmon: (nct6775-core) Zugriff auf nicht unterstützte Gewichtungsregister verhindern
Sashiko meldet:
Während der Initialisierung des nCT6116-Chips setzt der Treiber data->pwm_num auf 5. Allerdings werden mehrere NCT6106-Registerarrays (wie NCT6106_REG_WEIGHT_DUTY_STEP, NCT6106_REG_WEIGHT_TEMP_SEL und NCT6106_REG_WEIGHT_*) den Variablen data->REG_PWM und data->REG_WEIGHT_TEMP zugewiesen. Diese Arrays enthalten nur 3 Elemente.
In nct6775_update_pwm() durchläuft der Treiter die Schleife bis zu data->pwm_num. Wenn bei data->has_pwm die Bits 3 oder 4 gesetzt sind (was für den nCT6116 strukturell möglich ist), versucht die Schleife, Elemente an Index 3 und 4 aus diesen Arrays mit nur 3 Elementen zu lesen. Dies führt zu einem globalen Out-of-Bounds-Lesezugriff (global out-of-bounds read), der von KASAN erkannt werden kann.
Darüber hinaus verwendet der Treiber diese ungültigen Werte außerhalb des gültigen Bereichs als Hardware-Registeradressen für nachfolgende Lese- und Schreiboperationen. Dies führt zu einem ungültigen Zugriff auf Hardwareregister, was potenziell eine Fehlkonfiguration der Hardware oder Systemabstürze verursachen kann.
Das zugrunde liegende Problem besteht darin, dass der Chip zwar bis zu fünf Lüftersteuerungskanäle unterstützt, aber nur die ersten drei Gewichtungssteuerung unterstützen. Das Problem wird behoben, indem die betroffenen Weight-Registerarrays um auf Null gesetzte Felder erweitert werden. Der Treiber verwendet diese mit Nullen gefüllten Registeradressen, um festzustellen, ob ein Register unterstützt wird oder nicht, und überspringt Zugriffe für nicht unterstützte Register.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.