🇰🇷 한글 설명
리눅스 커널의 Thunderbolt 드라이버에서 DP 터널 활성화 콜백이 선택 사항으로 설정되어 있어, 콜백이 없는 경우 터널 참조(reference)가 해제되지 않고 누수되는 취약점이 발견되었습니다. 이로 인해 시스템 리소스가 지속적으로 소모될 수 있으며, 절전 모드 해제 시 최대 12초간 시스템이 차단되는 성능 저하 문제도 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 Thunderbolt 연결 기능을 사용할 때, 특정 상황에서 시스템의 메모리 자원이 제대로 반환되지 않고 계속 쌓이는 문제가 있습니다. 이로 인해 컴퓨터가 느려지거나 절전 모드에서 깨어날 때 시간이 오래 걸릴 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
thunderbolt: Make the DP tunnel activation callback mandatory
tb_tunnel_alloc_dp() takes an optional callback which is run from
dprx_work once the DPRX capabilities read has completed. Without that
callback tb_dp_dprx_start() reads the capabilities synchronously and
never queues the work. It however always takes a tunnel reference which
is only dropped by dprx_work itself or by tb_dp_dprx_stop() when
cancel_delayed_work() actually canceled that work. That reference is
thus leaked for every tunnel without a callback.
The only tunnels without one are those from tb_tunnel_discover_dp(),
which are activated again when restoring from hibernation.
Pass the callback to tb_tunnel_discover_dp() as well and drop the
synchronous path such that the DPRX capabilities are always read from
dprx_work. Hibernation restore then also no longer blocks for up to 12
seconds while waiting for that read to complete.
Also fix up the KUnit tests.
📍 영향받는 시스템
Thunderbolt DP 터널 기능을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
로컬 공격자가 특정 Thunderbolt 장치를 연결하거나 절전 모드를 반복하여 리소스 누수를 유도할 수 있음
🛡️ 대응 방법
해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인