Katalog CVE

CVE-2026-64083

Niskie ryzyko· EPSS 8%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W sterowniku hwmon (pmbus/adm1266) w jądrze Linuxa wykryto lukę polegającą na braku walidacji długości odpowiedzi podczas odczytu blokowego przez I2C. Funkcje adm1266_gpio_get() i adm1266_gpio_get_multiple() nie sprawdzają, czy odpowiedź zawiera co najmniej 2 bajty, co przy krótszej odpowiedzi (0 lub 1 bajt) prowadzi do użycia niezainicjalizowanej pamięci stosu. Te dane mogą zostać przekazane do przestrzeni użytkownika przez interfejs gpiolib (sysfs lub ioctl), powodując wyciek fragmentów stosu jądra.

Ocena ryzyka

Ryzyko polega na potencjalnym wycieku wrażliwych danych z pamięci stosu jądra do przestrzeni użytkownika, co może umożliwić atakującemu z dostępem lokalnym lub zdalnym (przez podłączone urządzenie I2C) odczytanie poufnych informacji, takich jak klucze kryptograficzne czy dane innych procesów.

Rekomendacja

Zaleca się natychmiastową aktualizację jądra Linuxa do wersji zawierającej poprawkę (commit z dodaniem sprawdzenia długości odpowiedzi i zwracaniem -EIO w przypadku krótkiej odpowiedzi). Należy monitorować oficjalne biuletyny bezpieczeństwa dystrybucji Linuxa w celu uzyskania odpowiedniego łatania.

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/adm1266) reject short block-read responses in the GPIO accessors adm1266_gpio_get() and adm1266_gpio_get_multiple() both compose the pin-status word as pins_status = read_buf[0] + (read_buf[1] << 8); right after i2c_smbus_read_block_data(), guarding only against an error return. A well-behaved device returns 2 bytes for GPIO_STATUS/PDIO_STATUS, but the helper happily reports a 0- or 1-byte response too. If the device returns 0 bytes, both read_buf slots are uninitialized stack memory; if it returns 1 byte, read_buf[1] is. The composed value then flows through set_bit() into the caller's *bits in adm1266_gpio_get_multiple(), or into the return value of adm1266_gpio_get(), and ends up in userspace via gpiolib (sysfs and the char-dev ioctls). That leaks a few bits of kernel stack per request on any device whose firmware glitch, bus error, or hostile slave produces a short block-read response. Add the missing length check to both call sites and surface a short response as -EIO.

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