🔍 CVE-2026-98761

0.0
CVSS Score
UNKNOWN
2026-10-18
2026-10-21 13:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 USB Type-C TCPM 구성 요소에서 FAST_ROLE_SWAP(FRS) AMS 시작 실패 시 포트 상태를 적절히 초기화하지 못하는 취약점이 발견되었습니다. 케이블 연결 해제 시 잘못된 FRS 신호로 인해 VBUS 전원이 계속 공급되는 상태로 남을 수 있으며, 이를 해결하기 위해 오류 복구 시 포트를 리셋하도록 수정되었습니다.

💡 쉬운 설명

USB-C 케이블을 뽑을 때 시스템 오류로 인해 전원이 계속 공급되는 현상이 발생할 수 있습니다. 이 문제는 케이블 분리 시 전원을 안전하게 차단하도록 시스템을 수정함으로써 해결되었습니다.

🇺🇸 원문 (English)

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]

📍 영향받는 시스템

Linux kernel (usb: typec: tcpm 관련 모듈 사용 시스템)

⚔️ 공격 벡터

물리적인 케이블 연결/해제 과정에서 발생하는 잘못된 신호를 이용한 전원 제어 오류 유도

🛡️ 대응 방법

Linux 커널을 최신 버전으로 업데이트하여 TCPM의 오류 복구 및 포트 리셋 로직을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 패치가 적용된 최신 릴리스 버전인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel