mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-13 07:31:07 +00:00
wifi: cw1200: fix link_id_db OOB access via device-controlled link ID
cw1200_rx_cb() stores the link ID from the device-supplied WSM header (a 4-bit field, range 0-15) into priv->action_linkid for P2P public action frames without an upper bound check. The work handler cw1200_link_id_reset() then uses it to index link_id_db[], which has only CW1200_MAX_STA_IN_AP_MODE (5) entries, so a device reporting a link ID of 6-15 makes the driver read and write cw1200_common fields past the array (a status copy and a constant store onto adjacent work/lock/timer fields), corrupting driver state. The first link ID check in the same function (used for timestamp tracking) already validates against CW1200_MAX_STA_IN_AP_MODE and degrades out-of-range IDs to untracked handling, so out-of-range link IDs on the RX path are anticipated; the P2P remap branch was missed. Add the same bound to the remap branch. This is expected to keep driver behavior unchanged in most cases: the driver itself only assigns link IDs 1..5, and a P2P public action frame carrying any other ID now degrades to the same untracked handling the first branch already applies, instead of corrupting memory. Discovered by Atuin - Automated Vulnerability Discovery Engine. Assisted-by: LLM Signed-off-by: Tianchu Chen <flynnnchen@tencent.com> Link: https://patch.msgid.link/969ee752d023e7431481605c320fa0636cc6f20c@linux.dev Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
2dd1382b30
commit
d4b21975f4
1 changed files with 1 additions and 1 deletions
Loading…
Add table
Add a link
Reference in a new issue