Skip to main content
VulnerabilityPublished Updated

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

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · fixed in d6b0cce612636f79f2cf0652fce40a0cbff7f0ed : update Linux kernel when convenient.

Data as of 26 Oct 2026, 14:18 UTC

Severity
Unrated

Rated by Threat Radar · CVSS not yet scored by NVD

EPSS
0.1% chance of exploitation in 30 days – higher than 5% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in d6b0cce612636f79f2cf0652fce40a0cbff7f0ed, b2ed8643face247e513fad12e193378ba67a61a1, ae8aae45a39fcf2c64813652fcb062eace220712 +2

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 18 Oct 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 0908c5aca31eb5e0c72d7a5dba422629b88e877d, < d6b0cce612636f79f2cf0652fce40a0cbff7f0ed
Fixed in
  • d6b0cce612636f79f2cf0652fce40a0cbff7f0ed
LinuxLinuxAffected
  • ≥ 0908c5aca31eb5e0c72d7a5dba422629b88e877d, < b2ed8643face247e513fad12e193378ba67a61a1
Fixed in
  • b2ed8643face247e513fad12e193378ba67a61a1
LinuxLinuxAffected
  • ≥ 0908c5aca31eb5e0c72d7a5dba422629b88e877d, < ae8aae45a39fcf2c64813652fcb062eace220712
Fixed in
  • ae8aae45a39fcf2c64813652fcb062eace220712
LinuxLinuxAffected
  • ≥ 0908c5aca31eb5e0c72d7a5dba422629b88e877d, < 90156585765b29304f07b0e4a1c56a969876fcfc
Fixed in
  • 90156585765b29304f07b0e4a1c56a969876fcfc
LinuxLinuxAffected
  • ≥ 0908c5aca31eb5e0c72d7a5dba422629b88e877d, < 184d842121e7d1fbc3a81895f36f72fa27444163
Fixed in
  • 184d842121e7d1fbc3a81895f36f72fa27444163
LinuxLinuxAffected
  • =5.12
Fixed in–

Description

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 FAST_ROLE_SWAP 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 FAST_ROLE_SWAP AMS fails to start (as tcpm_sink_tx_ok is 0 as CC is open due to the cable disconnect). This is because the code sets the state to INVALID_STATE without resetting the port state. Log snippet before changes: [ 101.401960] AMS FAST_ROLE_SWAP 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 SNK_READY, polarity 1, disconnected] [ 111.267442] VBUS on After changes: [ 70.541211] AMS FAST_ROLE_SWAP start [ 70.541220] Sink TX No Go [ 70.541228] state change SNK_READY -> ERROR_RECOVERY [rev3 NONE_AMS] [ 70.541362] VBUS on [ 70.541365] sourcing vbus [ 70.541367] VBUS on [ 70.541374] state change ERROR_RECOVERY -> PORT_RESET [rev3 NONE_AMS] [ 70.541410] disable vbus discharge ret:0 [ 70.543028] Setting usb_comm 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 PORT_RESET -> PORT_RESET_WAIT_OFF @ 100 ms [rev3 NONE_AMS] [ 70.555697] VBUS off [ 70.555702] VBUS VSAFE0V [ 70.555762] CC1: 5 -> 0, CC2: 0 -> 0 [state PORT_RESET, polarity 0, disconnected] [ 70.587794] VBUS off [ 70.587799] VBUS VSAFE0V [ 70.655672] state change PORT_RESET -> PORT_RESET_WAIT_OFF [delayed 100 ms] [ 70.655682] state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED [rev3 NONE_AMS] [ 70.655686] Start toggling [ 70.656274] CC1: 0 -> 0, CC2: 0 -> 0 [state TOGGLING, polarity 0, disconnected]

References

Community reviews

Loading reviews…