Podatność w systemie Zephyr RTOS dotyczy mechanizmu adresowania względnego z użyciem rejestru Global Pointer (GP) na architekturze RISC-V, gdy włączona jest opcja CONFIG_RISCV_GP=y. Błąd posiada ocenę CVSS 9.3 (CRITICAL) i może prowadzić do naruszenia poufności, integralności oraz dostępności systemu.
▸ Pokaż oryginał (EN)
When the Global Pointer (GP) relative addressing is enabled (CONFIG_RISCV_GP=y), the gp reg points at 0x800 bytes past the start of the .sdata section which is then used by the linker to relax accesses to global symbols.
Gdy włączona jest opcja CONFIG_RISCV_GP=y, rejestr GP wskazuje na adres o 0x800 bajtów za początkiem sekcji .sdata. Linker wykorzystuje tę wartość do optymalizacji dostępów do globalnych symboli poprzez mechanizm relaksacji. Nieprawidłowe użycie lub manipulacja tym mechanizmem może prowadzić do nieuprawnionego dostępu do pamięci poza oczekiwanym zakresem, co klasyfikowane jest jako błąd uprawnień (CWE-270).
Atakujący może uzyskać nieautoryzowany dostęp do zasobów systemu, naruszając poufność, integralność i dostępność — w tym potencjalnie wykonując kod lub modyfikując dane poza granicami uprawnionego obszaru. Zakres ataku wykracza poza komponent podatny (Scope: Changed).
Należy zastosować patche dostępne u producenta zgodnie z referencjami — szczegóły dostępne w oficjalnym security advisory projektu Zephyr pod adresem https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-jjf3-7x72-pqm9.
System operacyjny Zephyr RTOS firmy Zephyrproject skonfigurowany z opcją CONFIG_RISCV_GP=y na platformach RISC-V; szczegółowe wersje wskazane w referencjach producenta.
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HZephyrproject Zephyr
OSZephyrproject≤ 3.7.0
Powiązane podatności
Out-of-bounds write w dns_unpack_name() w Zephyr RTOS (DNS Resolver)
Lack of proper validation in HCI Host stack initialization can cause a crash of the bluetooth stack
Inconsistent handling of error cases in bluetooth hci may lead to a double free condition of a network buffer.
A malicious / defect bluetooth controller can cause a Denial of Service due to unchecked input in le_read_buff...
usb device bluetooth class includes a buffer overflow related to implementation of net_buf_add_mem.