В ядре Linux устранена следующая уязвимость:
mac80211: исправлен сбой в ieee80211_chan_bw_change для станций AP_VLAN.
ieee80211_chan_bw_change() перебирает все станции и обращается к ним
ссылка->reserved.oper через sta->sdata->link[link_id]. Для станций на
Интерфейсы AP_VLAN (например, клиенты 4addr WDS), sta->sdata указывает на
sdata VLAN, ссылка на которую никогда не участвует в резервировании chanctx. Это оставляет link->reserved.oper инициализированным нулем с chan == NULL,
вызывая разыменование NULL-указателя в __ieee80211_sta_cap_rx_bw()
при доступе к chandef->chan->band во время CSA.
Преобразуйте данные VLAN в данные родительской точки доступа с помощью get_bss_sdata().
перед доступом к данным ссылки.
[также измените sta->sdata в ARRAY_SIZE, даже если это не имеет значения]
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: mac80211: fix crash in ieee80211_chan_bw_change for AP_VLAN stations ieee80211_chan_bw_change() iterates all stations and accesses link->reserved.oper via sta->sdata->link[link_id]. For stations on AP_VLAN interfaces (e.g. 4addr WDS clients), sta->sdata points to the VLAN sdata, whose link never participates in chanctx reservations. This leaves link->reserved.oper zero-initialized with chan == NULL, causing a NULL pointer dereference in __ieee80211_sta_cap_rx_bw() when accessing chandef->chan->band during CSA. Resolve the VLAN sdata to its parent AP sdata using get_bss_sdata() before accessing link data. [also change sta->sdata in ARRAY_SIZE even if it doesn't matter]