Katalog CVE

CVE-2026-31513

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.39%

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

Streszczenie

W jądrze Linux w funkcji l2cap_ecred_conn_req() (Bluetooth L2CAP) występuje błąd odczytu poza granicami bufora stosu. Gdy atakujący wyśle żądanie Enhanced Credit Based Connection Request z więcej niż 5 identyfikatorami SCID, długość odpowiedzi rsp_len pozostaje zbyt duża i funkcja l2cap_send_cmd() czyta poza 18-bajtowym buforem pdu, powodując panikę KASAN.

Ocena ryzyka

Atakujący w zasięgu Bluetooth może zdalnie wywołać panikę jądra (odmowa usługi) na podatnym systemie. Może to prowadzić do niedostępności urządzenia lub wymuszonego restartu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę przenoszącą przypisanie rsp_len po sprawdzeniu granicy num_scid. Jeśli aktualizacja nie jest możliwa, rozważ ograniczenie lub wyłączenie Bluetooth na narażonych systemach.

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: L2CAP: Fix stack-out-of-bounds read in l2cap_ecred_conn_req Syzbot reported a KASAN stack-out-of-bounds read in l2cap_build_cmd() that is triggered by a malformed Enhanced Credit Based Connection Request. The vulnerability stems from l2cap_ecred_conn_req(). The function allocates a local stack buffer (`pdu`) designed to hold a maximum of 5 Source Channel IDs (SCIDs), totaling 18 bytes. When an attacker sends a request with more than 5 SCIDs, the function calculates `rsp_len` based on this unvalidated `cmd_len` before checking if the number of SCIDs exceeds L2CAP_ECRED_MAX_CID. If the SCID count is too high, the function correctly jumps to the `response` label to reject the packet, but `rsp_len` retains the attacker's oversized value. Consequently, l2cap_send_cmd() is instructed to read past the end of the 18-byte `pdu` buffer, triggering a KASAN panic. Fix this by moving the assignment of `rsp_len` to after the `num_scid` boundary check. If the packet is rejected, `rsp_len` will safely remain 0, and the error response will only read the 8-byte base header from the stack.

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