CVE-2026-79976
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
Podatność w emulowanym celu MCTP-over-I2C+GPIO (mctp_i2c_gpio_target.c) polega na tym, że po odebraniu I2C STOP nie są czyszczone numer wybranego rejestru (b->reg_addr) ani flaga fazy danych (b->rxtx). Kontroler magistrali może dwoma zwykłymi transakcjami doprowadzić do wywołania mctp_bus_rx() z buforem NULL lub do dereferencji b->tx_pkt->end po jego wyczyszczeniu, co powoduje wyjątek w obsłudze przerwania i reset lub zatrzymanie urządzenia.
Ocena ryzyka
Każde urządzenie mogące działać jako kontroler na współdzielonej magistrali zarządzającej (np. przejęty firmware peera MCTP lub BMC) może wywołać odmowę usługi. Na układach, gdzie adres 0 jest czytelny, skutek ogranicza się do przekazania zniekształconego bufora do stosu MCTP i utraty pakietów nadawczych — bez naruszenia poufności lub integralności.
Rekomendacja
Zaktualizuj jądro/system do wersji zawierającej poprawkę resetującą b->reg_addr do MCTP_I2C_GPIO_INVALID_ADDR i czyszczącą b->rxtx przy każdym STOP. Jeśli funkcja nie jest potrzebna, wyłącz CONFIG_MCTP_I2C_GPIO_TARGET (dotyczy tylko buildów z eksperymentalnym CONFIG_MCTP).
Powiązane podatności
- CVE-2026-121933Krytyczne
W urządzeniu Linksys E5350 w wersji 1.0.00.037 wykryto lukę w funkcji save_settings w pliku /wizard/apply.cgi komponentu Setup Wizard. Manipulacja argumentem wizard_router_pwd może prowadzić do braku uwierzytelnienia. Atak można przeprowadzić zdalnie, a exploit został opublikowany i może być wykorzystany.
- CVE-2026-113373Krytyczne
Sonatype Nexus Repository 3 Pro nie sprawdza statusu konta lokalnego, gdy użytkownik loguje się przez skonfigurowanego dostawcę tożsamości SAML lub OAuth2/OpenID Connect. Użytkownik, którego konto zostało wyłączone lub zablokowane przez administratora w Nexus Repository, może zalogować się ponownie przy użyciu ważnych poświadczeń dostawcy tożsamości dla tego samego konta i otrzymać nową sesję z rolami tego konta.
- CVE-2026-122120Krytyczne
W wtyczkach Yealink w wersjach przed 2.35.219.0 występuje podatność nieautoryzowanego zapisu plików w określonych scenariuszach. Może ona zostać wykorzystana przez atakującego do zdalnego wykonania kodu.
- CVE-2026-121932Krytyczne
W urządzeniu Linksys E5350 1.0.00.037 funkcja system w pliku /wizard/apply.cgi nieprawidłowo obsługuje argument ping_ip/traceroute_ip, co prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można przeprowadzić zdalnie, a exploit jest publicznie dostępny.
- CVE-2026-121931Krytyczne
W Linksys WRT54GL 4.30.18 funkcja system w pliku apply.cgi (komponent Traceroute Diagnostic) nieprawidłowo obsługuje argument traceroute_ip, co umożliwia wstrzyknięcie poleceń systemu operacyjnego. Atak można przeprowadzić zdalnie, a exploit jest publicznie ujawniony.
- CVE-2026-121930Krytyczne
W Linksys WRT54GL 4.30.18 funkcja system w pliku apply.cgi (komponent Ping Diagnostic) nieprawidłowo obsługuje argument ping_ip, co prowadzi do wstrzyknięcia poleceń systemu operacyjnego. Atak można zainicjować zdalnie, a exploit jest publicznie dostępny.
- CVE-2026-113780Krytyczne
W ESP-IDF (framework IoT Espressif) w wersjach od 5.5.5 do 5.5.6, 6.0.4 i 6.1.1 wpis pułapki esp_tee zapisuje ramkę rejestrów kontrolowaną przez wywołującego przez wskaźnik stosu dostarczony przez REE, zanim przełączy się na zaufany stos TEE lub zweryfikuje wskaźnik. Lokalna nieuprzywilejowana aplikacja REE może skierować ten zapis w trybie maszynowym do pamięci wyłącznej TEE na układach ESP32-C5, ESP32-C6, ESP32-C61 i ESP32-H2, naruszając granicę izolacji REE/TEE.
- CVE-2026-107846Krytyczne
W bibliotece bitcoinjs-lib (JavaScript dla Node.js i przeglądarek) w wersjach od 2.3.0 do 5.2.1, 6.1.8 i 7.0.2 funkcja fastMerkleRoot dopełnia nieparzyste poziomy drzewa Merkle'a przez hashowanie ostatniego węzła z samym sobą, ale nie zgłasza sąsiadujących zduplikowanych hashy. Ścieżki walidacji mogą zaakceptować przeliczony korzeń bez sprawdzenia mutacji, umożliwiając peerowi dodanie zduplikowanych transakcji przy zachowaniu oryginalnego korzenia Merkle'a, nagłówka bloku i proof of work.
- CVE-2026-121953Krytyczne
FreeRDP w wersjach przed 3.32.2 zawiera podatność use-after-free w dynamicznym kanale wirtualnym rdpgfx po stronie klienta. Zduplikowany kanał o nowym ChannelId nadpisuje pojedynczy slot callbacku listenera, który funkcja rdpgfx_on_close zwalnia bez wyczyszczenia. Złośliwy serwer RDP może otworzyć i zamknąć taki kanał, a następnie wysłać PDU na oryginalnym kanale, powodując awarię klienta lub potencjalne wykonanie kodu.
- CVE-2026-121952Krytyczne
FreeRDP w wersjach przed 3.32.2 ma podatność out-of-bounds write w proxy, ponieważ funkcja rdp_read_bitmap_cache_v2_capability_set odrzuca tylko wartości numCellCaches większe niż 5, podczas gdy tablica komórek bitmap cache v2 jest później odwoływana pod stałymi indeksami od 0 do 4. Klient łączący się z proxy może zadeklarować mniej niż pięć komórek cache w Confirm Active, powodując uszkodzenie sterty, wyciek danych sterty do backendu lub awarię.
Oryginalny opis (angielski, źródło NVD)
The MCTP-over-I2C+GPIO target binding in subsys/pmci/mctp/mctp_i2c_gpio_target.c emulates a small pseudo-register file, where the bus controller first writes a register number and then writes or reads payload bytes. The selected register (b->reg_addr) and the data-phase flag (b->rxtx) were never cleared when the controller issued an I2C STOP, so after a completed transfer the target still had a data register selected while the packet buffer that register refers to had already been consumed and set to NULL by mctp_i2c_gpio_target_stop(). A controller on the bus can re-enter the same branch of mctp_i2c_gpio_target_stop() with a NULL buffer using two ordinary transactions and no authentication: first a normal packet write to MCTP_I2C_GPIO_RX_MSG_ADDR followed by STOP (which delivers and frees b->rx_pkt), then a bare read transaction followed by STOP. The failing read_requested() call leaves the stale state untouched and the I2C driver still delivers the STOP callback, which then calls mctp_bus_rx() with a NULL packet. The symmetric case exists on the transmit side, where the stale MCTP_I2C_GPIO_TX_MSG_ADDR selection dereferences b->tx_pkt->end after b->tx_pkt has been cleared and additionally signals b->tx_complete a second time, causing the next outbound packet to be dropped. The dereference happens in the I2C target interrupt handler, so on any target that traps accesses to address 0 the result is a fatal exception and a device reset or halt — a denial of service inflicted by any device able to act as controller on the shared management bus (for example compromised firmware on a peer MCTP endpoint or on the BMC). On parts where address 0 is readable, the impact degrades to a malformed packet buffer being handed to the MCTP stack and lost transmit packets. No attacker-controlled value is written and no confidentiality or integrity boundary is crossed. The fix resets b->reg_addr to MCTP_I2C_GPIO_INVALID_ADDR and clears b->rxtx at every STOP, so a new register must be selected before any data phase can run again. Only builds that opt into the experimental CONFIG_MCTP subsystem with CONFIG_MCTP_I2C_GPIO_TARGET=y are affected.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

