Katalog CVE

CVE-2026-98407

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku wifi: rsi funkcja rsi_hal_load_key() przy usuwaniu klucza (data == NULL) wykonuje memset z nieprawidłowym przesunięciem. Ponieważ set_key jest wskaźnikiem na strukturę rsi_set_key, indeks jest skalowany przez sizeof(struct rsi_set_key) (160 bajtów), przez co memset zapisuje 144 bajty zer około 2,4 KB poza końcem bufora danych skb, uszkadzając niespokrewnione obiekty sterty.

Ocena ryzyka

Zapis poza granicami sterty może prowadzić do uszkodzenia pamięci jądra, awarii systemu lub potencjalnej eskalacji uprawnień; podatność uruchamia się przy każdym rozłączeniu, roamingu lub zamknięciu interfejsu.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką, która usuwa zbędną gałąź else z memset — bufor jest zerowany zaraz po alokacji, więc działanie pozostaje niezmienione.

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: wifi: rsi: fix heap OOB write on key removal When a key is removed (data == NULL), rsi_hal_load_key() runs: memset(&set_key[FRAME_DESC_SZ], 0, frame_len - FRAME_DESC_SZ); set_key is a struct rsi_set_key *, so the subscript is scaled by sizeof(struct rsi_set_key) (160 bytes): &set_key[FRAME_DESC_SZ] is skb->data + 2560, and the memset writes 144 zero bytes starting 2.4KB past the end of the 160-byte skb data buffer, corrupting unrelated heap objects. The intended byte offset would have been (u8 *)set_key + FRAME_DESC_SZ. The write fires on every DISABLE_KEY callback, so plain disconnects, roams and interface teardowns trigger it on real networks. The memset is redundant: the whole buffer is zeroed right after allocation, so the frame sent to the device is byte-identical without it. Drop the else branch; normal operation is unaffected. Discovered by Atuin - Automated Vulnerability Discovery Engine.

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