CVE-2026-98761: usb: typec: tcpm: recover after failure to start the frs ams

Published Oct 18, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

usb: typec: tcpm: recover after failure to start the frs ams

Reset the port if the tcpm fails to start the FASTROLESWAP AMS by initiating error recovery on it.

This helps in cases where some cables (incorrectly) signal an FRS to an FRS capable port during disconnection. The TCPC autonomously starts sourcing VBUS on detecting the FRS signal. However, the VBUS sourcing is left on when the FASTROLESWAP AMS fails to start (as tcpmsinktxok is 0 as CC is open due to the cable disconnect). This is because the code sets the state to INVALIDSTATE without resetting the port state.

Log snippet before changes: [ 101.401960] AMS FASTROLESWAP start [ 101.401971] Sink TX No Go [ 101.401982] sourcing vbus [ 101.401987] VBUS on [ 101.402159] VBUS on [ 109.257809] CC1: 0 -> 0, CC2: 5 -> 0 [state SNKREADY, polarity 1, disconnected] [ 111.267442] VBUS on

After changes: [ 70.541211] AMS FASTROLESWAP start [ 70.541220] Sink TX No Go [ 70.541228] state change SNKREADY -> ERRORRECOVERY [rev3 NONEAMS] [ 70.541362] VBUS on [ 70.541365] sourcing vbus [ 70.541367] VBUS on [ 70.541374] state change ERRORRECOVERY -> PORTRESET [rev3 NONEAMS] [ 70.541410] disable vbus discharge ret:0 [ 70.543028] Setting usbcomm capable false [ 70.544009] Setting voltage/current limit 0 mV 0 mA [ 70.544034] polarity 0 [ 70.544239] Requesting mux state 0, usb-role 0, orientation 0 [ 70.555550] cc:=0 [ 70.555595] pending state change PORTRESET -> PORTRESETWAITOFF @ 100 ms [rev3 NONEAMS] [ 70.555697] VBUS off [ 70.555702] VBUS VSAFE0V [ 70.555762] CC1: 5 -> 0, CC2: 0 -> 0 [state PORTRESET, polarity 0, disconnected] [ 70.587794] VBUS off [ 70.587799] VBUS VSAFE0V [ 70.655672] state change PORTRESET -> PORTRESETWAITOFF [delayed 100 ms] [ 70.655682] state change PORTRESETWAITOFF -> SNKUNATTACHED [rev3 NONEAMS] [ 70.655686] Start toggling [ 70.656274] CC1: 0 -> 0, CC2: 0 -> 0 [state TOGGLING, polarity 0, disconnected]

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Reset the USB Type-C port and initiate error recovery when the TCPM fails to start the FAST_ROLE_SWAP AMS, rather than leaving the port state as INVALID_STATE.

Event History

Oct 18, 2026
CVE Published
via MITRE·03:47 PM
Data Sourced
via MITRE·03:47 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203