Katalog CVE

CVE-2026-52974

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.51%

Percentyl 39 — wyżej niż 39% wszystkich znanych CVE

Streszczenie

W jądrze Linux wykryto wyciek pamięci w mechanizmie TLS. Gdy próba uruchomienia sprzętowego odciążania TLS (offload) dla połączenia przychodzącego zakończy się niepowodzeniem, funkcja czyszcząca nie zwalnia węzła kotwiczącego (anchor skb) przydzielonego przez strparser. Problem pojawił się po zmianie implementacji strparsera w jądrze.

Ocena ryzyka

Wyciek pamięci może prowadzić do stopniowego wyczerpywania się zasobów systemowych, szczególnie przy częstych nieudanych próbach ustanowienia połączeń TLS z odciążaniem sprzętowym, co może skutkować obniżeniem wydajności lub awarią systemu.

Rekomendacja

Należy zaktualizować jądro Linux do wersji zawierającej poprawkę usuwającą wyciek (commit naprawiający CVE-2026-52974). W międzyczasie można rozważyć wyłączenie sprzętowego odciążania TLS dla połączeń przychodzących, jeśli to możliwe.

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

In the Linux kernel, the following vulnerability has been resolved: net: tls: fix strparser anchor skb leak on offload RX setup failure When tls_set_device_offload_rx() fails at tls_dev_add(), the error path calls tls_sw_free_resources_rx() to clean up the SW context that was initialized by tls_set_sw_offload(). This function calls tls_sw_release_resources_rx() (which stops the strparser via tls_strp_stop()) and tls_sw_free_ctx_rx() (which kfrees the context), but never frees the anchor skb that was allocated by alloc_skb(0) in tls_strp_init(). Note that tls_sw_free_resources_rx() is exclusively used for this "failed to start offload" code path, there's no other caller. The leak did not exist before commit 84c61fe1a75b ("tls: rx: do not use the standard strparser"), because the standard strparser doesn't try to pre-allocate an skb. The normal close path in tls_sk_proto_close() handles cleanup by calling tls_sw_strparser_done() (which calls tls_strp_done()) after dropping the socket lock, because tls_strp_done() does cancel_work_sync() and the strparser work handler takes the socket lock.

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