usb: typec: tipd: fix uninitialized typec_partner_desc in cd321x_update_work()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.56, 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tipd: fix uninitialized typec_partner_desc in cd321x_update_work() cd321x_update_work() 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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 82432bbfb9e83b7e81d04660fe129b99a29b2ac2 · fixed in 75dc6cb377efd2f4428b7f76d3a590a0bbc10399; From 82432bbfb9e83b7e81d04660fe129b99a29b2ac2 · fixed in 5414144e202a32437e3eb436cd3f5f00d79ad86e; From 82432bbfb9e83b7e81d04660fe129b99a29b2ac2 · fixed in 88c7e458af53ff781a3f1051708395892b325576
- Linux Linux
6.18
- KernelLinux
From 6.18.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10