CVE-2026-23073: wifi: rsi: Fix memory corruption due to not set vif driver data size
In the Linux kernel, the following vulnerability has been resolved:
wifi: rsi: Fix memory corruption due to not set vif driver data size
The struct ieee80211vif contains trailing space for vif driver data, when struct ieee80211vif is allocated, the total memory size that is allocated is sizeof(struct ieee80211vif) + size of vif driver data. The size of vif driver data is set by each WiFi driver as needed.
The RSI911x driver does not set vif driver data size, no trailing space for vif driver data is therefore allocated past struct ieee80211vif . The RSI911x driver does however use the vif driver data to store its vif driver data structure "struct vifpriv". An access to vif->drvpriv leads to access out of struct ieee80211vif bounds and corruption of some memory.
In case of the failure observed locally, rsimac80211addinterface() would write struct vifpriv vifinfo = (struct vifpriv )vif->drvpriv; vifinfo->vapid = vapidx. This write corrupts struct fqtin member struct listhead newflows . The flow = listfirstentry(head, struct fqflow, flowchain); in fqtinreset() then reports non-NULL bogus address, which when accessed causes a crash.
The trigger is very simple, boot the machine with init=/bin/sh , mount devtmpfs, sysfs, procfs, and then do "ip link set wlan0 up", "sleep 1", "ip link set wlan0 down" and the crash occurs.
Fix this by setting the correct size of vif driver data, which is the size of "struct vifpriv", so that memory is allocated and the driver can store its driver data in it, instead of corrupting memory around it.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1 - Configuration
Set the vif driver data size to sizeof(struct vif_priv) so trailing storage is allocated for vif->drv_priv before rsi_mac80211_add_interface() stores struct vif_priv there.
RSI911x WiFi driver vif driver data size = sizeof(struct vif_priv)
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23073?
CVE-2026-23073 is classified as a high-severity vulnerability due to its potential for memory corruption.
How do I fix CVE-2026-23073?
To fix CVE-2026-23073, update to the latest version of the Linux kernel where the vulnerability has been resolved.
What systems are affected by CVE-2026-23073?
CVE-2026-23073 affects the Linux kernel, particularly systems that utilize the rsi wifi driver.
What type of vulnerability is CVE-2026-23073?
CVE-2026-23073 is a memory corruption vulnerability due to improper handling of driver data size.
Can CVE-2026-23073 lead to remote code execution?
Yes, CVE-2026-23073 could potentially allow attackers to execute arbitrary code via memory corruption.