Wysoki Odebrany

CVE-2026-19676

opublikowano:
modyfikacja:
Ocena CVSS
7.8
Wysoki · v3.1
wektor: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

Weryfikator trybu użytkownika dla wywołania systemowego peci_transfer(), z_vrfy_peci_transfer() w sterownikach/peci/peci_handlers.c, sprawdził tylko uprawnienia obiektu urządzenia i skopiował dostarczoną przez wywołującego strukturę peci_msg za pomocą k_usermode_from_copy(). Ta kopia sprawdza jedynie zewnętrzną strukturę; wskaźniki buf i wartości len wewnątrz osadzonej struktury peci_buf, elementy tx_buffer i rx_buffer pozostały w pełni kontrolowane przez osobę wywołującą i zostały przekazane bez sprawdzenia do sterownika.

Każdy sterownik PECI w drzewie dereferuje te wskaźniki w trybie nadzorcy: peci_npcx_transfer() w sterownikach/peci/peci_npcx.c i peci_it8xxx2_transfer() w sterownikach/peci/peci_ite_it8xxx2.c kopiuje bajty sprzętu do rx_buffer.buf[i] i czyta bajty poleceń z tx_buffer.buf[i] oraz peci_xec_read()/peci_xec_write() w sterownikach/peci/peci_mchp_xec.c wykonaj to samo, bez żadnych ograniczeń na rx_buffer.len. Wątek trybu użytkownika, któremu przyznano obiekt urządzenia PECI – w normalny sposób, w jaki aplikacja udostępnia urządzenie w CONFIG_USERSPACE – może zatem wskazywać rx_buffer.buf na struktury danych jądra i kazać sterownikowi zapisywać tam bajty dostarczone przez sprzęt lub wskazywać tx_buffer.buf na pamięć jądra i przesyłać jego zawartość do pozapasmowej magistrali PECI/eSPI.

Skutek to pełna ucieczka z trybu użytkownika do jądra: dowolny prymityw zapisu jądra (integralność, a przez to wykonanie kodu z uprawnieniami nadzorcy), dowolny odczyt jądra ujawniony obserwatorowi magistrali PECI i banalnie osiągalny błąd trybu nadzorcy, jeśli dostarczony zostanie niezamapowany adres. Eksploatacja wymaga CONFIG_USERSPACE=y, włączonego jednego ze sterowników PECI (CONFIG_PECI_NPCX, CONFIG_PECI_XEC lub CONFIG_PECI_ITE_IT8XXX2) i wykonania lokalnego kodu w wątku trybu użytkownika przechowującym urządzenie PECI.

Poprawka dodaje kontrole K_SYSCALL_MEMORY_READ() i K_SYSCALL_MEMORY_WRITE() w dwóch wbudowanych buforach, ze strażnikiem size_add_overflow() na bajcie sekwencji sprawdzania ramki uwzględnianym w długości RX.

>_ Słabości (CWE)

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org