Katalog CVE

CVE-2026-64089

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.55%

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

Streszczenie

W jądrze Linux w module batman-adv wykryto podatność polegającą na użyciu typu signed short (s16) dla pola last_changeset_len, które nigdy nie powinno przechowywać wartości ujemnych. Przypisanie wartości większej niż 32767 powoduje zawinięcie do ujemnej liczby całkowitej ze znakiem, co prowadzi do błędnego rozszerzenia znaku przy konwersji do s32 w funkcji batadv_send_my_tt_response(). Skutkuje to alokacją pełnego bufora, ale wypełnieniem tylko jego małej części, pozostawiając resztę niezainicjalizowaną.

Ocena ryzyka

Ryzyko polega na potencjalnym wycieku niezainicjalizowanych danych z pamięci jądra do sieci, co może umożliwić atakującemu odczyt wrażliwych informacji lub destabilizację systemu.

Rekomendacja

Należy niezwłocznie zaktualizować jądro Linux do wersji zawierającej poprawkę zmieniającą typ pola last_changeset_len na u16, aby zapobiec błędnemu rozszerzeniu znaku.

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

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tt: fix negative last_changeset_len batadv_piv_tt::last_changeset_len len was declared as s16, but the field is never intended to hold a negative value. When a value greater than 32767 is assigned, it wraps to a negative signed integer. In batadv_send_my_tt_response(), last_changeset_len is temporarily widened to s32. The incorrectly negative s16 value propagates into the s32, causing batadv_tt_prepare_tvlv_local_data() to allocate a full sized buffer but populates only a small portion of it with the collected changeset. All remaining bits are kept uninitialized. Using an u16 avoids this type confusion and ensures that no (negative) sign extension is performed in batadv_send_my_tt_response().

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