KernelScan.io

HIGH Introduced in 4.14

rsi Beacon Overflow

CVE-2026-93802

CVSS 7.8 / 10.0 KernelScan AI

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

01

In the Linux kernel, the following vulnerability has been resolved: wifi: rsi: validate beacon length before fixed buffer copy rsi_prepare_beacon() copies the mac80211 beacon frame after FRAME_DESC_SZ into a management skb whose usable tailroom may be smaller than MAX_MGMT_PKT_SIZE after alignment. Validate the beacon length against the actual tailroom before the copy and skb_put(). Leave ownership of the management skb with the caller on error, matching the existing rsi_send_beacon() cleanup path.

02

Engine v0.6.0

Risk summary

A local attacker who can configure an RSI WiFi device as an access point can trigger a heap buffer overflow by setting a beacon template larger than the driver's management buffer. This can corrupt kernel memory, potentially leading to privilege escalation or a system crash. Systems without RSI WiFi hardware or without local configuration access are not affected.

Affecteddrivers/net/wireless/rsi/rsi_91x_hal.c (rsi wifi driver)

Vulnerability analysis

The RSI WiFi driver copies a mac80211 beacon frame into a pre-allocated management socket buffer without first verifying that the buffer has sufficient tailroom for the beacon data and frame descriptor overhead. When the beacon length exceeds the available space, the copy writes past the end of the buffer, corrupting adjacent kernel heap memory. The fix adds a validation check that compares the beacon length against the actual buffer tailroom before the copy, returning an error if the beacon would not fit and leaving buffer cleanup to the caller. This code path is reached when configuring an RSI WiFi device as an access point, which requires local access and CAP_NET_ADMIN privileges to set the beacon template via nl80211.

03

BranchIntroducedFixed inPatch commit
5.104.145.10.271795ba65f46fe
5.154.145.15.22266a964432b27
6.14.146.1.1897f99742c3c28
6.124.146.12.11187710ad633ce
6.184.146.18.53266f195d5a14
6.64.146.6.158f08d7f3c9163
mainline4.147.28ecdeb8b8a33
cip/5.104.145.10.271-cip78795ba65f46fe
cip/6.14.146.1.189-cip617f99742c3c28
cip/6.1-rt4.146.1.189-cip61-rt327f99742c3c28
cip/6.124.146.12.111-cip3287710ad633ce

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)