Description
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: Check for port partner validity before consuming it typec_register_partner() does not guarantee partner registration to always succeed. In the event of failure, port->partner is set to the error value or NULL. Given that port->partner validity is not checked, this results in the following crash: Unable to handle kernel NULL pointer dereference at virtual address xx pc : run_state_machine+0x1bc8/0x1c08 lr : run_state_machine+0x1b90/0x1c08 .. Call trace: run_state_machine+0x1bc8/0x1c08 tcpm_state_machine_work+0x94/0xe4 kthread_worker_fn+0x118/0x328 kthread+0x1d0/0x23c ret_from_fork+0x10/0x20 To prevent the crash, check for port->partner validity before derefencing it in all the call sites.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
31220bd89c22a18478f52fcd8069e8e2adb8f4f2 to < 2a07e6f0ad8a6e504a3912cfe8dc859b7d0740a5affected9b7cd3fe01f0d03cf5820b351a6be2a6e0a6da6f to < d56d2ca03cc22123fd7626967d096d8661324e57affectedc97cd0b4b54eb42aed7f6c3c295a2d137f6d2416 to < 789326cafbd1f67f424436b6bc8bdb887a364637affectedc97cd0b4b54eb42aed7f6c3c295a2d137f6d2416 to < fc2b655cb6dd2b381f1f284989721002e39b6b77affectedc97cd0b4b54eb42aed7f6c3c295a2d137f6d2416 to < ae11f04b452b5205536e1c02d31f8045eba249ddaffected2897b36d2482b84f35e659989d5cb4501fb31ccdaffectedcbcf107780aecf51aba68488044a416d95060b6daffected5.15.132 to < 5.15.168affected6.1.53 to < 6.1.91affected6.4.16 to < 6.5affected6.5.3 to < 6.6affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected5.15.168 to ≤ 5.15.*unaffected6.1.91 to ≤ 6.1.*unaffected6.6.31 to ≤ 6.6.*unaffected6.8.10 to ≤ 6.8.*unaffected6.9 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/2a07e6f0ad8a6e504a3912cfe8dc859b7d0740a5 ↗
- https://git.kernel.org/stable/c/d56d2ca03cc22123fd7626967d096d8661324e57 ↗
- https://git.kernel.org/stable/c/789326cafbd1f67f424436b6bc8bdb887a364637 ↗
- https://git.kernel.org/stable/c/fc2b655cb6dd2b381f1f284989721002e39b6b77 ↗
- https://git.kernel.org/stable/c/ae11f04b452b5205536e1c02d31f8045eba249dd ↗