In the Linux kernel, the following vulnerability has been resolved: usb: typec: wcove: don't write past struct pd_message in wcove_read_rx_buffer()… (CVE-2026-63960)
A vulnerability in the Linux kernel's USB Type-C wcove driver was resolved to prevent out-of-bounds writes in the wcove_read_rx_buffer() function. The issue arises because the function copies data from a PD RX FIFO into a struct pd_message without properly limiting the copy size, potentially writing one byte beyond the destination buffer. Additionally, the use of regmap_read() writes four bytes per iteration, causing up to three zero bytes to be written past the buffer on the final iteration. This could corrupt stack memory in the IRQ thread. The fix clamps the copy loop to the size of struct pd_message and reads each register into a local variable before storing only the low byte, preventing overflow regardless of the RXINFO byte count.
AI Analysis
Technical Summary
The Linux kernel's usb: typec: wcove driver contained a vulnerability in wcove_read_rx_buffer() where the function copied data from the PD RX FIFO into a struct pd_message without adequate bounds checking. The RXINFO field indicating the byte count is a 5-bit field with a maximum of 31 bytes, while struct pd_message is only 30 bytes. A malicious USB Type-C partner could send a 31-byte frame, causing the loop to write one byte past the struct pd_message buffer if hardware limits are not enforced. Furthermore, regmap_read() writes a full unsigned int (4 bytes) per call, but the code passed a byte pointer, causing up to three zero bytes to be written past the buffer on the last iteration. This leads to potential stack corruption in the IRQ thread. The vulnerability was fixed by clamping the loop to the size of struct pd_message and reading registers into a local variable before storing only the low byte, ensuring no overflow occurs regardless of RXINFO values.
Potential Impact
This vulnerability could allow a malicious USB Type-C device to cause out-of-bounds writes in kernel memory, specifically overwriting stack memory in the IRQ thread. Such memory corruption could lead to kernel instability, crashes, or potentially privilege escalation if exploited. However, no known exploits are reported in the wild at this time.
Mitigation Recommendations
A fix has been implemented in the Linux kernel to clamp the copy loop to the size of struct pd_message and to safely handle register reads to prevent out-of-bounds writes. Users should apply the official kernel updates that include this fix once available. Patch status is not yet confirmed from vendor advisories; check the Linux kernel mailing lists or official repositories for the updated kernel versions containing this fix.
In the Linux kernel, the following vulnerability has been resolved: usb: typec: wcove: don't write past struct pd_message in wcove_read_rx_buffer()… (CVE-2026-63960)
Description
A vulnerability in the Linux kernel's USB Type-C wcove driver was resolved to prevent out-of-bounds writes in the wcove_read_rx_buffer() function. The issue arises because the function copies data from a PD RX FIFO into a struct pd_message without properly limiting the copy size, potentially writing one byte beyond the destination buffer. Additionally, the use of regmap_read() writes four bytes per iteration, causing up to three zero bytes to be written past the buffer on the final iteration. This could corrupt stack memory in the IRQ thread. The fix clamps the copy loop to the size of struct pd_message and reads each register into a local variable before storing only the low byte, preventing overflow regardless of the RXINFO byte count.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel's usb: typec: wcove driver contained a vulnerability in wcove_read_rx_buffer() where the function copied data from the PD RX FIFO into a struct pd_message without adequate bounds checking. The RXINFO field indicating the byte count is a 5-bit field with a maximum of 31 bytes, while struct pd_message is only 30 bytes. A malicious USB Type-C partner could send a 31-byte frame, causing the loop to write one byte past the struct pd_message buffer if hardware limits are not enforced. Furthermore, regmap_read() writes a full unsigned int (4 bytes) per call, but the code passed a byte pointer, causing up to three zero bytes to be written past the buffer on the last iteration. This leads to potential stack corruption in the IRQ thread. The vulnerability was fixed by clamping the loop to the size of struct pd_message and reading registers into a local variable before storing only the low byte, ensuring no overflow occurs regardless of RXINFO values.
Potential Impact
This vulnerability could allow a malicious USB Type-C device to cause out-of-bounds writes in kernel memory, specifically overwriting stack memory in the IRQ thread. Such memory corruption could lead to kernel instability, crashes, or potentially privilege escalation if exploited. However, no known exploits are reported in the wild at this time.
Mitigation Recommendations
A fix has been implemented in the Linux kernel to clamp the copy loop to the size of struct pd_message and to safely handle register reads to prevent out-of-bounds writes. Users should apply the official kernel updates that include this fix once available. Patch status is not yet confirmed from vendor advisories; check the Linux kernel mailing lists or official repositories for the updated kernel versions containing this fix.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-5mqj-jpm9-chwp
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-63960"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a5d27aa2a4a8d598912e24d
Added to database: 07/19/2026, 19:38:18 UTC
Last enriched: 07/19/2026, 20:03:04 UTC
Last updated: 07/20/2026, 17:26:47 UTC
Views: 13
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.