Katalog CVE

CVE-2026-13343

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.23%

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

Streszczenie

Biblioteka UMP Stream responder w systemie Zephyr (lib/midi2/ump_stream_responder.c) zawiera lukę wycieku informacji. Funkcje make_endpoint_info() i make_function_block_info() nie inicjalizują całej struktury odpowiedzi, przez co dwa ostatnie słowa (8 bajtów) zawierają przypadkowe dane ze stosu. Podatność jest wykorzystywana przez wysłanie żądania odkrycia (Endpoint-Discovery lub Function-Block-Discovery) przez sieć (Network MIDI 2.0) lub USB MIDI 2.0, co powoduje odesłanie tych danych atakującemu.

Ocena ryzyka

Atakujący zdalnie (bez uwierzytelnienia w domyślnej konfiguracji) może wielokrotnie wywołać odpowiedzi i uzyskać fragmenty pamięci stosu urządzenia, co może ujawnić wrażliwe dane lub adresy wskaźników. Wyciek ma charakter poufności, ale może wspomóc dalsze ataki.

Rekomendacja

Zastosuj poprawkę, która zeruje struktury odpowiedzi (struct midi_ump res = {0};) w funkcjach make_endpoint_info() i make_function_block_info(). Zaktualizuj system do wersji zawierającej tę poprawkę.

Powiązane podatności

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

The UMP Stream responder library in lib/midi2/ump_stream_responder.c builds reply packets in a 16-byte struct midi_ump (uint32_t data[4]). The builders make_endpoint_info() and make_function_block_info() populate only the first two words (res.data[0] and res.data[1]) and, before this fix, declared their result as an uninitialised local (struct midi_ump res;). The remaining two words (res.data[2], res.data[3]) retain stale stack contents. Endpoint Info and Function Block Info notifications are UMP Stream messages (UMP_MT_UMP_STREAM), which are 4 words long, so the full 16-byte packet — including the two uninitialised words — is transmitted verbatim by cfg->send(). The responder is driven by attacker-supplied UMP Stream Endpoint-Discovery / Function-Block-Discovery requests via ump_stream_respond(). In the in-tree Network MIDI 2.0 server (subsys/net/lib/midi2/netmidi2.c) these requests arrive as UDP datagrams and, with the default no-authentication endpoint, a remote peer can establish a session and trigger the responses; the same library also serves USB MIDI 2.0 hosts. Each discovery request causes the device to disclose 8 bytes of its own uninitialised stack memory to the peer, and the request is freely repeatable. This is a confidentiality-only information leak (root cause is use of an uninitialised variable, CWE-457/CWE-908); the leaked words could include residual data or pointer values. There is no memory-corruption, integrity, or availability impact. The fix zero-initialises both result structs (struct midi_ump res = {0};), so the trailing words are cleared before transmission. These are the only two responder builders that left trailing words unset (send_string() already zeroes its buffer), so the leak is fully closed.

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