CVE-2026-76787
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
Klient aktualizacji firmware UpdateHub w Zephyr parsuje odpowiedź CoAP za pomocą biblioteki JSON, która traktuje wszystkie pola jako opcjonalne. Gdy odpowiedź pominie pole "sha256sum", wskaźnik pozostaje NULL, a kod wywołuje strlen() na tym wskaźniku przed jakąkolwiek walidacją, co prowadzi do odczytu spod adresu zero. Ponieważ metadane pochodzą w całości od zdalnego peera (domyślnie bez DTLS, po zwykłym CoAP/UDP), atakujący może zdalnie wywołać awarię.
Ocena ryzyka
Na platformach z niemapowanym lub chronionym obszarem niskich adresów (np. architektury z MMU, TrustZone, nRF54L) odczyt powoduje wyjątek i zatrzymanie systemu, dając zdalnie powtarzalny atak odmowy usługi przy każdym odpytywaniu. Wpływ ogranicza się do dostępności — nie ma zapisu do pamięci ani wycieku informacji.
Rekomendacja
Zaktualizuj Zephyr do wersji zawierającej poprawkę dodającą jawną kontrolę sha256sum == NULL przed strlen() w obu gałęziach metadanych. Rozważ włączenie CONFIG_UPDATEHUB_DTLS=y, aby ograniczyć źródło metadanych do uwierzytelnionego serwera aktualizacji.
Powiązane podatności
- CVE-2026-122051Krytyczne
W urządzeniu Edimax BR-6208AC w wersji 1.32 wykryto lukę w nieznanej funkcjonalności pliku /goform/mp. Manipulacja danymi wejściowymi może prowadzić do wstrzyknięcia poleceń. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-54384Krytyczne
API chmurowe VitaFit w wersji przed 2026-10-30 zawierało podatność omijania uwierzytelniania, pozwalającą zdalnym atakującym uzyskać pełną sesję konta ofiary poprzez przesłanie identyfikatora powiązanego konta Google lub Facebook do punktu końcowego POST /front/login/sns/ bez dowodu własności od dostawcy tożsamości. Atakujący może sfałszować logowanie przy użyciu identyfikatora ujawnionego przez enumerację kont, aby odczytać i zmodyfikować profil ofiary oraz usunąć rekord uwierzytelniania konta.
- CVE-2026-52848Krytyczne
GLPI to darmowy pakiet oprogramowania do zarządzania zasobami i IT. W wersjach od 11.0.0 do 11.0.8 nieuwierzytelniony użytkownik mógł użyć spreparowanego adresu URL, aby pominąć weryfikację hasła jednorazowego podczas logowania, obchodząc uwierzytelnianie dwuskładnikowe. Problem naprawiono w wersji 11.0.8.
- CVE-2026-115770Krytyczne
Pocket ID to dostawca OIDC umożliwiający logowanie za pomocą passkeys. W wersjach od 2.2.0 do 2.12.0 funkcja SendEmailVerification wiąże token weryfikacji e-mail tylko z identyfikatorem użytkownika, podczas gdy UpdateUser może zmienić adres e-mail bez unieważnienia tokenu, a VerifyEmail oznacza bieżący adres jako zweryfikowany. Zwykły użytkownik może zażądać tokenu dla kontrolowanego adresu, zmienić konto na dowolny nieużywany adres i wykorzystać stary token, aby Pocket ID opublikował nowy adres z email_verified ustawionym na true.
- CVE-2026-97693Krytyczne
Platforma Yuxi w wersjach od 0.6.0.beta1 do 0.7.1 ma niewystarczającą izolację między sandboxami Docker a zaufanymi usługami aplikacji. Uwierzytelniony użytkownik o niskich uprawnieniach może uzyskać dostęp do API sandboxów innych najemców, ich plików i sekretów, a także wykonywać polecenia i zarządzać sandboxami bez znajomości poświadczeń administratora.
- CVE-2026-57566Krytyczne
Czytnik ebooków Readest przed wersją 0.11.10 zawiera nieuwierzytelnioną trasę /api/opds/proxy, która pobiera kontrolowany przez atakującego URL po stronie serwera bez ograniczeń schematu, blokowania prywatnych i lokalnych adresów oraz ponownej walidacji przekierowań. Trasa akceptuje również nagłówki wychodzące i wartości Authorization od wywołującego oraz odzwierciedla status i treść odpowiedzi serwera źródłowego.
- CVE-2026-54378Krytyczne
API chmurowe VitaFit przed 2026-10-30 zawierało podatność polegającą na błędnej kontroli dostępu, która pozwala każdemu uwierzytelnionemu użytkownikowi uzyskać tymczasowe poświadczenia AWS poprzez wywołanie endpointu POST /front/user/s3/token/. Atakujący może użyć tych niewłaściwie ograniczonych poświadczeń do listowania współdzielonego bucketa i odczytu lub nadpisania plików innych użytkowników.
- CVE-2026-102895Krytyczne
GPUStack przed wersją 2.2.0 traktował żądania pochodzące z pętli zwrotnej jako pochodzące od wbudowanego administratora, gdy force_auth_localhost było wyłączone (domyślnie). Zdalne żądanie mogło wyglądać na pochodzące z 127.0.0.1, co pozwalało na nieuwierzytelniony dostęp administracyjny, w tym zmianę użytkowników i modeli, tworzenie trwałych kluczy API administratora, ujawnianie sekretów oraz wykonanie kodu.
- CVE-2026-102894Krytyczne
GPUStack w wersjach od 0.7.1 do 2.2.2 zawiera endpoint /auth/saml/callback, który dekoduje XML SAML i używa NameID oraz atrybutów do uwierzytelnienia lub utworzenia użytkownika bez weryfikacji podpisu, wystawcy, odbiorcy, miejsca docelowego ani warunków czasowych. Dowolny klient sieciowy może podszyć się pod istniejącego użytkownika, w tym administratora, lub utworzyć nowe konto, nawet gdy SAML nie jest skonfigurowany.
- CVE-2026-82418Krytyczne
IBM Watson Speech Services Cartridge w wersjach od 4.0.0 do 5.4.0 zawiera podatność use-after-free, która może pozwolić zdalnemu atakującemu na wykonanie dowolnego kodu.
Oryginalny opis (angielski, źródło NVD)
The UpdateHub firmware-over-the-air client parses the CoAP probe response with Zephyr's JSON library in z_impl_updatehub_probe() (subsys/mgmt/updatehub/updatehub.c). The decoder treats every descriptor field as optional — json_obj_parse() returns a bitmask of the fields it actually decoded and never fails on a missing one — so a response that omits the "sha256sum" string leaves the corresponding const char * in the zero-initialised struct resp_probe_any_boards / struct resp_probe_some_boards at NULL. Both metadata branches then computed sha256size = strlen(...objects.sha256sum) + 1 before any validation, dereferencing that NULL pointer; the SHA256_HEX_DIGEST_SIZE test that follows operates on a value the bad read has already produced and cannot prevent it. The metadata is supplied entirely by the network peer: probe_cb() accepts the datagram, runs coap_packet_parse() and copies the payload with no token matching and no cryptographic check. With CONFIG_UPDATEHUB_DTLS unset — the default — start_coap_client() uses plain CoAP over UDP on port 5683 with no peer authentication and resolves the server via unauthenticated DNS, so an on-path attacker, a DNS spoofer, or an off-path attacker who wins the race with a forged source address can deliver the malformed metadata. A probe response as simple as "objects":[[{}],[{}]] suffices, and no user interaction is required because updatehub_autohandler() polls on CONFIG_UPDATEHUB_POLL_INTERVAL. When CONFIG_UPDATEHUB_DTLS=y the trigger narrows to a malicious or compromised update server. The primitive is a read at address zero, not a write, so the impact is availability only. On targets where the low address range is unmapped or protected — MMU-based architectures, builds with CONFIG_NULL_POINTER_EXCEPTION_DETECTION_DWT/_MPU/_PMP, TrustZone non-secure images, and SoCs such as nRF54L whose 0x0–0x400 window is unmapped — the load faults and Zephyr's default fatal handler halts the system, giving a remotely re-triggerable denial of service on every poll. On classic Cortex-M targets where the vector table is readable at address zero the walk usually terminates immediately and the request is rejected by the length check, so the outcome is configuration- and SoC-dependent. There is no memory write, and the copied bytes are only compared against the locally computed image hash, so there is no information-disclosure channel. The fix adds an explicit sha256sum == NULL test that returns UPDATEHUB_METADATA_ERROR ahead of the strlen() in both metadata branches. Debug builds (CONFIG_UPDATEHUB_LOG_LEVEL=4) still format the same pointers with %s in a LOG_DBG() loop that runs before the new checks, so that variant remains in debug configurations only.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

