CVE-2026-98189 in Linux
Zusammenfassung
von VulDB • 06.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
wifi: wilc1000: Behebung eines OOB-Schreibens (Out-of-Bounds-Write) im RX-Puffer in wilc_wlan_handle_isr_ext()
wilc_wlan_handle_isr_ext() übernimmt die Größe des RX-Datentransfers aus dem vom Gerät gemeldeten Interrupt-Statusregister (ein 15-Bit-Feld, das um 2 Bits nach links verschoben ist, bis zu 131.068 Bytes) und liest diese Anzahl an Bytes vom Gerät in den rx_buffer, der nur die Größe WILC_RX_BUFF_SIZE (96 KB) hat. Die Wrap-Prüfung berücksichtigt lediglich den aktuellen Offset; die Größe selbst wird niemals mit dem Puffer verglichen, sodass ein betrügerisches SDIO-Gerät einen OOB-Schreibzugriff auf den rx_buffer um bis zu ~32 KByte mit von ihm kontrollierten Daten verursachen kann.
Der überdimensionierte Transfer führt außerdem dazu, dass der rx_buffer_offset hinter das Ende des Puffers weist; danach funktioniert die unsigned Wrap-Prüfung nicht mehr und der Überlauf kann sich wiederholen.
Jeder Transfer, dessen Größe den RX-Puffer überschreitet, wird verworfen, wobei der Dateninterrupt bestätigt und die RX-Engine erneut scharf geschaltet wird, sodass das betrügerische Frame verworfen wird und der Empfang fortgesetzt werden kann. Dies stellt auch die Invariante rx_buffer_offset <= WILC_RX_BUFF_SIZE wieder her, auf die die Wrap-Prüfung angewiesen ist.
Es ist nicht damit zu rechnen, dass dies in den meisten Fällen das Verhalten des Treibers ändert: Ohne diese Prüfung würde ein überdimensionierter Transfer höchwahrscheinlich benachbarten Kernel-Speicher beschädigen, anstatt ihn dennoch abzuschließen; und der Verwerfungs-Pfad führt dieselbe Interrupt-Bestätigung und RX-Engine-Wiederaktivierung durch wie der normale Pfad, sodass nachfolgende Transfers unbeeinflusst empfangen werden.
Entdeckt von Atuin – Automated Vulnerability Discovery Engine.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.