Katalog CVE

CVE-2026-98600

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W jądrze Linux funkcja rfcomm_recv_frame() akceptuje zbyt krótkie ramki RFCOMM z rozszerzonym polem długości (EA=0). Sprawdzenie długości przepuszcza 4-bajtową ramkę, a po przycięciu FCS skb_pull() kończy się niepowodzeniem, którego wynik jest ignorowany, przez co nieusunięty 3-bajtowy nagłówek jest przetwarzany jako dane aplikacji lub polecenie multipleksera.

Ocena ryzyka

Nieprawidłowe przetwarzanie ramek może prowadzić do błędów parsowania, wycieku informacji lub awarii stosu Bluetooth, a potencjalnie do wykonania kodu.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką rozszerzającą sprawdzenie długości w rfcomm_recv_frame() o wymóg skb->len >= sizeof(*hdr) + 2 gdy !__test_ea(hdr->len).

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: Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame() While rfcomm_recv_frame() verifies that skb->len is at least sizeof(*hdr) + 1 (4 bytes: 3-byte header + 1-byte FCS), an RFCOMM frame with an extended 2-byte length field (!__test_ea(hdr->len)) has a 4-byte header plus a 1-byte FCS (5 bytes minimum, sizeof(*hdr) + 2). When a 4-byte RFCOMM frame with EA == 0 arrives: 1. The initial skb->len < sizeof(*hdr) + 1 check passes (4 < 4 is false). 2. Trimming the FCS byte decrements skb->len to 3. 3. If __check_fcs() succeeds, skb_pull(skb, 4) fails (4 > 3) and returns NULL without advancing skb->data. 4. Because the return value of skb_pull() is ignored, the un-pulled 3-byte struct rfcomm_hdr remains at skb->data and is either queued as application payload via rfcomm_recv_data() or parsed as a multiplexer control command via rfcomm_recv_mcc() on DLCI 0. Fix this by extending the length check in rfcomm_recv_frame() to also require skb->len >= sizeof(*hdr) + 2 when !__test_ea(hdr->len).

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