CVE-2026-98760
NoneCVSS
—
EPSS
0.2%
Published
Oct 18, 2026
CISA due date
—
Cloudanix analysis
A bug in Linux USB connection handling can let attackers crash the system or run malicious code simply by plugging in a USB device.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Uninitialized stack-allocated typec_partner_desc passed to typec_register_partner() leaves attach/deattach function pointers and other fields containing garbage values, enabling invocation of arbitrary code from typec_partner_link_device() and leaking stack data via sysfs.
Why it matters to the business
Kernel instability or potential privilege escalation on Linux systems using TPS6598x Type-C controllers when USB devices are attached, with risk amplified by the five-day-old disclosure requiring rapid patching across fleets.
How an attack unfolds
An attacker attaches a USB device to a vulnerable port; tps6598x_connect() registers the partner descriptor with uninitialized callbacks; later device linking invokes the garbage pointers, potentially executing attacker-controlled code or crashing the kernel.
How to fix it
Apply the upstream fix that zero-initializes the entire typec_partner_desc structure before calling typec_register_partner(); rebuild and deploy updated kernel images containing the corrected tps6598x_connect() implementation.
How to confirm the fix worked
Confirm the patch is present by inspecting the tps6598x_connect() function for explicit zero-initialization of the descriptor (e.g., via memset or designated initializers) and verify no uninitialized fields remain before the typec_register_partner() call.
Typical attack path
- Physically or remotely trigger USB Type-C connection on affected hardware
- tps6598x_connect() allocates and partially initializes typec_partner_desc on stack
- typec_register_partner() copies uninitialized attach/deattach pointers
- typec_partner_link_device() dereferences the garbage function pointers
- Resulting execution of invalid code leads to crash or arbitrary kernel execution
How to detect it
Review kernel logs for unexpected crashes or oops in typec_partner_link_device() or tps6598x_connect() around USB attach events; inspect sysfs partner attributes for non-zero or anomalous pd_revision/usb_capability values immediately after device connection.
What your security team should do
- Prioritize kernel updates on all systems exposing TPS6598x Type-C ports within the next 7 days
- Monitor EPSS and exploit maturity indicators for any increase in public tooling
- Restrict physical USB access on high-value endpoints until patches are deployed
- Audit custom kernel builds for similar partial-initialization patterns in Type-C drivers
The record
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tipd: fix uninitialized typec_partner_desc in tps6598x_connect() tps6598x_connect() passes a stack-allocated typec_partner_desc to typec_register_partner() after initializing only usb_pd, accessory and identity. typec_register_partner() copies attach and deattach from the descriptor into the partner. With those fields left unset, garbage function pointers may be stored and later invoked from typec_partner_link_device() when a USB device is linked to the port. Uninitialized pd_revision and usb_capability similarly leak stack data through partner sysfs. Zero-initialize the descriptor so optional callbacks remain NULL and the remaining fields are zero.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|