CVE-2026-98761 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
usb: typec: tcpm: recupero dopo il fallimento nell'avvio dell'AMS FRS
Reimpostare (reset) la porta se il tcpm non riesce ad avviare l'AMS FAST_ROLE_SWAP avviando un recovery degli errori su di essa.
Ciò aiuta nei casi in cui alcuni cavi segnalano erroneamente una richiesta FRS a una porta compatibile con FRS durante la disconnessione. Il TCPC avvia autonomicamente il sourcing della VBUS al rilevamento del segnale FRS. Tuttavia, l'attivazione del sourcing della VBUS rimane attiva quando l'avvio dell'AMS FAST_ROLE_SWAP fallisce (poiché tcpm_sink_tx_ok è 0 dato che CC è aperto a causa della disconnessione del cavo). Questo accade perché il codice imposta lo stato su INVALID_STATE senza reimpostare lo stato della porta.
Snippet di log prima delle modifiche: [ 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
Dopo le modifiche: [ 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]
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.