CVE-2026-63821

wifi: rtw88: usb: fix memory leaks on USB write failures

State
Published
Severity
Not scored
Published
Jul 19, 2026
Updated
Aug 17, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

wifi: rtw88: usb: fix memory leaks on USB write failures

When rtw_usb_write_port() fails to submit a USB Request Block (URB) (e.g., due to device disconnect or ENOMEM), the completion callback is never executed.

Currently, the driver ignores the return value of rtw_usb_write_port() in rtw_usb_write_data() and rtw_usb_tx_agg_skb(). Because these functions rely on the completion callback to free the socket buffers (skbs) and the transaction control block (txcb), a submission failure results in: 1. A memory leak of the allocated skb in rtw_usb_write_data(). 2. A memory leak of the txcb structure and all aggregated skbs in rtw_usb_tx_agg_skb().

Fix this by checking the return value of rtw_usb_write_port(). If it fails, explicitly free the skb in rtw_usb_write_data(), and properly purge the tx_ack_queue and free the txcb in rtw_usb_tx_agg_skb().

The issue was discovered in practice during device disconnect/reconnect scenarios and memory pressure conditions. Tested by verifying normal TX operation continues after the fix without regressions.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a82dfd33d1237f6c0fb8a7077022189d1fc7ec98 to before 2b2060c2075a72bc2de43ce5e1b9347d6c5e27bbAffected
  • a82dfd33d1237f6c0fb8a7077022189d1fc7ec98 to before 53fed4061a09755de99c89fdc7fae5b794da455fAffected
  • a82dfd33d1237f6c0fb8a7077022189d1fc7ec98 to before 200d58c851b8f63f77a05570072dd20f79bc3681Affected
  • a82dfd33d1237f6c0fb8a7077022189d1fc7ec98 to before 8206d173d18ef5a077423119f4e9a93cb3a6f4ebAffected
  • a82dfd33d1237f6c0fb8a7077022189d1fc7ec98 to before 6b964941bbfe6e0f18b1a5e008486dbb62df440aAffected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 6.6.144 through 6.6.*Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.38 through 6.18.*Not affected
  • 7.1.3 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.