🇰🇷 한글 설명
Linux 커널의 UCSI(USB Type-C) 드라이버에서 DisplayPort 대체 모드 처리 중 교착 상태(deadlock)가 발생하는 문제입니다. 패치는 연결이 성립되고 partner 포인터가 유효할 때만 커넥터 뮤텍스를 잠그는 ucsi_con_mutex_lock/unlock 함수를 도입하여 이를 해결합니다.
💡 쉬운 설명
USB-C 포트에 모니터 같은 장치를 연결했다 뺄 때 시스템이 멈출 수 있는 버그입니다. 잠금 처리를 수정해 두 작업이 서로를 기다리며 멈추는 상황을 막습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: typec: ucsi: displayport: Fix deadlock
This patch introduces the ucsi_con_mutex_lock / ucsi_con_mutex_unlock
functions to the UCSI driver. ucsi_con_mutex_lock ensures the connector
mutex is only locked if a connection is established and the partner pointer
is valid. This resolves a deadlock scenario where
ucsi_displayport_remove_partner holds con->mutex waiting for
dp_altmode_work to complete while dp_altmode_work attempts to acquire it.
📍 영향받는 시스템
Linux 커널 UCSI(USB Type-C) 드라이버를 사용하는 패치 이전 버전 시스템
⚔️ 공격 벡터
로컬 사용자가 USB-C DisplayPort 장치를 반복적으로 연결·분리하여 커널 교착 상태를 유발해 서비스 거부를 일으킬 수 있음
🛡️ 대응 방법
수정 패치가 포함된 최신 Linux 커널 배포판으로 업데이트하고 재부팅
🔧 검증 코드
커널 버전이 수정 패치가 반영된 배포판 최신 버전과 같거나 높은지 확인하고, ucsi 모듈 로드 여부로 이 드라이버 사용 여부를 판단하며, 배포판 보안 공지에서 해당 커널 버전의 패치 포함 여부를 대조합니다.
uname -r && (grep -i ucsi /proc/modules 2>/dev/null || lsmod 2>/dev/null | grep -i ucsi)