Katalog CVE

CVE-2026-10682

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.10%

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

Streszczenie

W Zephyr RTOS w wersjach od v3.3.0 do v4.4.1, funkcja weryfikatora przestrzeni użytkownika z_vrfy_log_filter_set() wykonuje porównanie ze znakiem dla parametru src_id, co pozwala na przekazanie ujemnej wartości. Prowadzi to do odczytu i zapisu poza zakresem w tablicy log_dynamic, co może być wykorzystane do eskalacji uprawnień w trybie nadzorcy.

Ocena ryzyka

Organizacja ryzykuje eskalację uprawnień przez nieuprzywilejowanego użytkownika, co może prowadzić do pełnego przejęcia systemu.

Rekomendacja

Zaleca się aktualizację Zephyr RTOS do wersji zawierającej poprawkę, która zmienia porównanie na bezznakowe.

Inne podatności w Zephyr RTOS

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

The userspace verifier z_vrfy_log_filter_set() for the log_filter_set syscall in subsys/logging/log_mgmt.c performed a signed comparison against the int16_t src_id parameter: src_id < (int16_t)log_src_cnt_get(domain_id). Any negative value for src_id (e.g. -1) trivially satisfied this check and was forwarded into z_impl_log_filter_set, where it propagated to filter_set() and ultimately to get_dynamic_filter(), which uses source_id as an unsigned index into the linker-section array &TYPE_SECTION_START(log_dynamic)[source_id].filters. After implicit conversion through uint32_t, an int16_t -1 becomes 0xFFFFFFFF, indexing log_dynamic far out of bounds and causing the kernel to perform an OOB read and an OOB read-modify-write (LOG_FILTER_SLOT_GET/SET) against memory adjacent to the log_dynamic section. The written value is a constrained 3-bit log level slot within the targeted 32-bit word, but the target address is attacker-chosen (a small negative offset from log_dynamic) and the write occurs in supervisor mode following a syscall from an unprivileged user thread, providing a kernel memory-corruption / privilege-escalation primitive. The defect is reachable on any build with CONFIG_USERSPACE=y and CONFIG_LOG_RUNTIME_FILTERING=y. Present from Zephyr v3.3.0 through v4.4.1. The fix replaces the signed bound check with an unsigned comparison: (uint32_t)src_id < log_src_cnt_get(domain_id), which correctly rejects negative inputs.

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