Katalog CVE

CVE-2026-89539

Niskie ryzyko· EPSS 6%
Opublikowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.17%

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

Streszczenie

W jądrze Linux w funkcji gssx_dec_option_array() podsystemu SUNRPC nie odrzucane są zduplikowane opcje CREDS_VALUE. Każde wystąpienie CREDS_VALUE powoduje wywołanie gssx_dec_linux_creds(), które nadpisuje creds->cr_group_info bez zwolnienia poprzedniej alokacji, prowadząc do wycieku pamięci. Wystarczy odpowiedź zawierająca dwie opcje CREDS_VALUE, aby wyciekła pierwsza alokacja group_info.

Ocena ryzyka

Powtarzalne wywołania mogą prowadzić do wyczerpania pamięci jądra i odmowy usługi (DoS). Wymaga możliwości wysłania spreparowanej odpowiedzi w protokole GSSX.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która wykrywa już zdekodowaną opcję CREDS_VALUE i zwraca -EINVAL przy kolejnym dopasowaniu.

Inne podatności w Linux kernel

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

In the Linux kernel, the following vulnerability has been resolved: SUNRPC: reject duplicate CREDS_VALUE options gssx_dec_option_array() walks the wire-supplied option array and, for every entry whose name matches CREDS_VALUE, calls gssx_dec_linux_creds() on the same struct svc_cred. That helper unconditionally installs a fresh groups_alloc() result into creds->cr_group_info without releasing whatever pointer was already there: for (i = 0; i < count; i++) { ... decode name ... if (length == sizeof(CREDS_VALUE) && memcmp(p, CREDS_VALUE, sizeof(CREDS_VALUE)) == 0) { err = gssx_dec_linux_creds(xdr, creds); ... } } A reply that carries two CREDS_VALUE entries therefore overwrites cr_group_info on the second iteration and orphans the group_info allocated by the first call. The earlier free_creds path only releases the last cr_group_info via free_svc_cred(), so the first allocation's refcount stays at one and its kvmalloc-backed storage is leaked. No in-tree caller of gssp_accept_sec_context_upcall() expects more than one CREDS_VALUE per reply. Fix by tracking whether a CREDS_VALUE option has already been decoded and returning -EINVAL on any subsequent match, so the free_creds path releases the single group_info that was installed.

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