CVE-2026-23073
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/02/2026
Última modificación:
04/02/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
wifi: rsi: Fix memory corruption due to not set vif driver data size<br />
<br />
The struct ieee80211_vif contains trailing space for vif driver data,<br />
when struct ieee80211_vif is allocated, the total memory size that is<br />
allocated is sizeof(struct ieee80211_vif) + size of vif driver data.<br />
The size of vif driver data is set by each WiFi driver as needed.<br />
<br />
The RSI911x driver does not set vif driver data size, no trailing space<br />
for vif driver data is therefore allocated past struct ieee80211_vif .<br />
The RSI911x driver does however use the vif driver data to store its<br />
vif driver data structure "struct vif_priv". An access to vif->drv_priv<br />
leads to access out of struct ieee80211_vif bounds and corruption of<br />
some memory.<br />
<br />
In case of the failure observed locally, rsi_mac80211_add_interface()<br />
would write struct vif_priv *vif_info = (struct vif_priv *)vif->drv_priv;<br />
vif_info->vap_id = vap_idx. This write corrupts struct fq_tin member<br />
struct list_head new_flows . The flow = list_first_entry(head, struct<br />
fq_flow, flowchain); in fq_tin_reset() then reports non-NULL bogus<br />
address, which when accessed causes a crash.<br />
<br />
The trigger is very simple, boot the machine with init=/bin/sh , mount<br />
devtmpfs, sysfs, procfs, and then do "ip link set wlan0 up", "sleep 1",<br />
"ip link set wlan0 down" and the crash occurs.<br />
<br />
Fix this by setting the correct size of vif driver data, which is the<br />
size of "struct vif_priv", so that memory is allocated and the driver<br />
can store its driver data in it, instead of corrupting memory around<br />
it.



