In the Linux kernel, the following vulnerability has been resolved: power: supply: cros_usbpd-charger: bound the EC-reported port count… (CVE-2026-89471)
A vulnerability in the Linux kernel's cros_usbpd-charger driver allowed a malicious or compromised embedded controller (EC) to report an excessive number of USB Power Delivery ports. This led to an out-of-bounds write when the driver used the unvalidated port count to index a fixed-size array, potentially corrupting kernel memory. The issue was resolved by bounding the EC-reported port count to the array size.
AI Analysis
Technical Summary
The Linux kernel cros_usbpd-charger driver reads two port counts from the embedded controller (EC): num_usbpd_ports and num_charger_ports, both u8 values. It validates that num_charger_ports is within one of num_usbpd_ports but does not check if either exceeds the fixed array size EC_USB_PD_MAX_PORTS (8). A malicious or malfunctioning EC reporting values greater than 8 (e.g., 255) passes the sanity check, causing the driver to write beyond the bounds of an 8-entry ports[] array by up to 247 entries (~1976 bytes), resulting in a slab out-of-bounds write. The fix bounds the port count to prevent overflow.
Potential Impact
An attacker controlling or compromising the embedded controller can trigger a slab out-of-bounds write in kernel memory, potentially leading to memory corruption, system instability, or privilege escalation. However, no known exploits in the wild have been reported.
Mitigation Recommendations
A fix has been implemented to reject EC-reported port counts larger than the fixed-size ports[] array can hold. Users should apply the updated Linux kernel version containing this fix once available. Patch status is not explicitly confirmed in the provided data; check the vendor advisory for current remediation guidance.
In the Linux kernel, the following vulnerability has been resolved: power: supply: cros_usbpd-charger: bound the EC-reported port count… (CVE-2026-89471)
Description
A vulnerability in the Linux kernel's cros_usbpd-charger driver allowed a malicious or compromised embedded controller (EC) to report an excessive number of USB Power Delivery ports. This led to an out-of-bounds write when the driver used the unvalidated port count to index a fixed-size array, potentially corrupting kernel memory. The issue was resolved by bounding the EC-reported port count to the array size.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel cros_usbpd-charger driver reads two port counts from the embedded controller (EC): num_usbpd_ports and num_charger_ports, both u8 values. It validates that num_charger_ports is within one of num_usbpd_ports but does not check if either exceeds the fixed array size EC_USB_PD_MAX_PORTS (8). A malicious or malfunctioning EC reporting values greater than 8 (e.g., 255) passes the sanity check, causing the driver to write beyond the bounds of an 8-entry ports[] array by up to 247 entries (~1976 bytes), resulting in a slab out-of-bounds write. The fix bounds the port count to prevent overflow.
Potential Impact
An attacker controlling or compromising the embedded controller can trigger a slab out-of-bounds write in kernel memory, potentially leading to memory corruption, system instability, or privilege escalation. However, no known exploits in the wild have been reported.
Mitigation Recommendations
A fix has been implemented to reject EC-reported port counts larger than the fixed-size ports[] array can hold. Users should apply the updated Linux kernel version containing this fix once available. Patch status is not explicitly confirmed in the provided data; check the vendor advisory for current remediation guidance.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-543c-r37x-r759
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-89471"]
Threat ID: 6aa4a02155bf5e2cf5a8699f
Added to database: 09/12/2026, 00:43:13 UTC
Last enriched: 09/12/2026, 01:16:17 UTC
Last updated: 09/12/2026, 01:16:17 UTC
Views: 2
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.