Katalog CVE

CVE-2026-74711

WysokieCVSS 8.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

Percentyl 4 - wyżej niż 4% wszystkich znanych CVE

Streszczenie

W jądrze Linuxa wykryto podatność typu type confusion w sterowniku hwmon dla układów PMBus. Funkcja pmbus_notify() nieprawidłowo rzutuje różne typy atrybutów na strukturę sensor_device_attribute, co może prowadzić do odczytu poza przydzieloną pamięcią (slab-out-of-bounds) lub do błędnego dopasowania maski podczas obsługi alertów. Problem został naprawiony przez zmianę struktury atrybutów i ustawienie indeksu na -1 dla atrybutów, które nie wyzwalają powiadomień.

Ocena ryzyka

Podatność może umożliwić lokalnemu atakującemu wywołanie nieprawidłowego odczytu pamięci jądra, co może prowadzić do wycieku informacji lub awarii systemu (paniki). W skrajnych przypadkach może być wykorzystana do eskalacji uprawnień, choć wymaga to dostępu do interfejsu hwmon.

Rekomendacja

Zaleca się natychmiastowe zaktualizowanie jądra Linuxa do wersji zawierającej poprawkę (commit naprawiający pmbus_notify). Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do interfejsów hwmon dla nieuprzywilejowanych użytkowników.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus) Fix type confusion in notification logic Sashiko reports: At the start of the loop in pmbus_notify(), the code unconditionally casts every attribute to a struct sensor_device_attribute: drivers/hwmon/pmbus/pmbus_core.c:pmbus_notify() { for (i = 0; i < data->num_attributes; i++) { struct device_attribute *da = to_dev_attr(data->group.attrs[i]); struct sensor_device_attribute *attr = to_sensor_dev_attr(da); int index = attr->index; ... } However, data->group.attrs can contain other types like struct pmbus_samples_reg or struct pmbus_sensor, which only embed a base struct device_attribute. If da is a struct pmbus_samples_reg, dev_attr is the last member. Casting it to struct sensor_device_attribute and reading the index field appears to access memory past the end of the allocation, which might trigger a slab-out-of-bounds read. Additionally, if da is a struct pmbus_sensor, casting it causes the index field to overlap with the page, phase, and reg fields. Could this produce a garbage mask on little-endian systems that spuriously matches the target reg, page, and flags during an alert? Fix the problem by using struct sensor_device_attr in struct pmbus_sensor and struct pmbus_label. Since those attributes never trigger a notification, set the value of attr->index to -1 for them. Use this value to distinguish from boolean attributes which _can_ trigger a notification and use the index field to encode mask, page, and register values.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS