Katalog CVE

CVE-2026-46088

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.12%

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

Streszczenie

W jądrze Linux w funkcji snd_ctl_elem_init_enum_names() sterownika ALSA wykryto podatność polegającą na braku walidacji długości bufora przed wywołaniem strnlen(). Gdy buf_len osiągnie zero, a pozostały jeszcze elementy do przetworzenia, wywołanie strnlen(p, 0) z zabezpieczeniem CONFIG_FORTIFY_SOURCE może spowodować panikę jądra (BRK exception) zamiast bezpiecznego zakończenia błędu.

Ocena ryzyka

Ryzyko polega na możliwości wywołania paniki jądra (odmowa usługi) przez atakującego, który dostarczy specjalnie spreparowane dane sterujące do interfejsu ALSA, co może doprowadzić do awarii systemu.

Rekomendacja

Należy niezwłocznie zaktualizować jądro Linux do wersji zawierającej poprawkę dodającą guard sprawdzający buf_len == 0 na początku pętli w funkcji snd_ctl_elem_init_enum_names().

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

In the Linux kernel, the following vulnerability has been resolved: ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names() snd_ctl_elem_init_enum_names() advances pointer p through the names buffer while decrementing buf_len. If buf_len reaches zero but items remain, the next iteration calls strnlen(p, 0). While strnlen(p, 0) returns 0 and would hit the existing name_len == 0 error path, CONFIG_FORTIFY_SOURCE's fortified strnlen() first checks maxlen against __builtin_dynamic_object_size(). When Clang loses track of p's object size inside the loop, this triggers a BRK exception panic before the return value is examined. Add a buf_len == 0 guard at the loop entry to prevent calling fortified strnlen() on an exhausted buffer. Found by kernel fuzz testing through Xiaomi Smartphone.

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