CVE-2026-64209 Overview
CVE-2026-64209 is an out-of-bounds array access vulnerability in the Linux kernel's Qualcomm QMP USB-C PHY driver (phy/qcom/qmp-usbc). The flaw resides in the DisplayPort (DP) swing configuration logic, where the boundary check for swing_tbl and pre_emphasis_tbl uses > 4 instead of >= 4. Since these are 4x4 arrays with valid indices 0-3, an index value of 4 bypasses the check and reads memory outside the intended bounds. The issue has been resolved in the mainline kernel through two upstream commits.
Critical Impact
Out-of-bounds memory access in a kernel PHY driver can lead to kernel information disclosure, memory corruption, or system instability on affected Qualcomm-based Linux platforms.
Affected Products
- Linux kernel builds including the phy: qcom: qmp-usbc driver
- Systems using Qualcomm QMP USB-C PHY with DisplayPort alternate mode
- Qualcomm-based platforms relying on the affected DP swing configuration path
Discovery Timeline
- 2026-07-24 - CVE-2026-64209 published to NVD
- 2026-07-30 - Last updated in NVD database
Technical Details for CVE-2026-64209
Vulnerability Analysis
The vulnerability is a classic off-by-one boundary check error in the Qualcomm QMP USB-C PHY driver within the Linux kernel. The driver manages PHY configuration for USB-C ports operating in DisplayPort alternate mode. During DP link training, the driver selects voltage swing and pre-emphasis levels from lookup tables named swing_tbl and pre_emphasis_tbl. Both tables are declared as 4x4 arrays, so valid indices span 0 through 3.
The original code guards these table lookups with a comparison of > 4 rather than >= 4. This mistake permits an index value of exactly 4 to pass the validation check and reach the array dereference. Reading index 4 of a 4-element dimension accesses memory beyond the array boundary, classified as an out-of-bounds read [CWE-125].
Root Cause
The root cause is an incorrect relational operator in the input validation logic. The developer used strict greater-than semantics where greater-than-or-equal semantics are required for zero-indexed arrays. The fix, applied in commits cb35af6e7f3d and ea17fc4d7dc2, corrects the comparison to properly reject the boundary value.
Attack Vector
Exploitation requires the affected code path to be reached with a swing or pre-emphasis level index of 4. This value typically originates from DisplayPort link training negotiation or userspace configuration paths that feed the PHY driver. A local attacker or a malicious peripheral capable of influencing DP training parameters could trigger the out-of-bounds access. The resulting behavior depends on adjacent kernel memory contents and may produce information leakage, corrupted PHY register writes, or driver malfunction.
No public proof-of-concept exploit is available for CVE-2026-64209, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.
Detection Methods for CVE-2026-64209
Indicators of Compromise
- Kernel log entries referencing anomalies in the qmp-usbc PHY driver or DP link training failures
- Unexpected kernel warnings, oops, or KASAN reports pointing to swing_tbl or pre_emphasis_tbl accesses
- Repeated USB-C DisplayPort alternate mode negotiation failures on Qualcomm platforms
Detection Strategies
- Enable Kernel Address Sanitizer (KASAN) on test builds to catch out-of-bounds reads in the PHY driver at runtime
- Audit installed kernel versions against the upstream commits cb35af6e7f3d and ea17fc4d7dc2 to identify unpatched systems
- Review dmesg output for warnings originating from drivers/phy/qualcomm/phy-qcom-qmp-usbc*
Monitoring Recommendations
- Ingest kernel logs into a centralized logging or SIEM platform and alert on PHY driver faults or KASAN traces
- Track kernel package versions across Qualcomm-based Linux fleets to confirm patch adoption
- Monitor USB-C DisplayPort event frequency for abnormal spikes that could indicate probing of the vulnerable code path
How to Mitigate CVE-2026-64209
Immediate Actions Required
- Apply the upstream Linux kernel fix that corrects the boundary check to >= 4 in the QMP USB-C PHY driver
- Update to a stable kernel release that incorporates commits cb35af6e7f3d5628178b58c631e305b1def8edf7 and ea17fc4d7dc2ba6459b1a318962960520201baf1
- Prioritize Qualcomm-based endpoints, developer boards, and mobile Linux devices that use USB-C DisplayPort alternate mode
Patch Information
The fix is available in the upstream kernel via the Kernel Git Commit cb35af6e7f3d and the Kernel Git Commit ea17fc4d7dc2. Distribution maintainers should backport these commits to supported stable kernel branches. Verify the patched version on target systems with uname -r and package inventory tooling.
Workarounds
- Where feasible, disable USB-C DisplayPort alternate mode on unpatched Qualcomm platforms until the kernel update is applied
- Restrict physical access to USB-C ports on sensitive systems to reduce exposure to malicious DP peripherals
- Deploy patched kernel images through configuration management tooling to ensure consistent rollout across fleets
# Verify kernel version and confirm patch presence
uname -r
git log --oneline drivers/phy/qualcomm/ | grep -E 'cb35af6e7f3d|ea17fc4d7dc2'
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

