🇰🇷 한글 설명
Linux 커널의 Thunderbolt 네트워크 드라이버에서 연결 설정 실패 시 상태 관리가 제대로 이루어지지 않는 취약점이 발견되었습니다. 이로 인해 이미 중단된 리소스를 다시 해제하려 시도하여 시스템 패닉을 유발하거나, 다른 연결이 사용 중인 메모리를 잘못 해제하여 시스템 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
Thunderbolt 장치를 연결할 때 오류가 발생하면 컴퓨터가 혼란에 빠져 시스템이 멈추거나 중요한 데이터를 잘못 건드릴 수 있는 문제입니다. 연결이 실패했음에도 불구하고 컴퓨터는 여전히 연결된 것으로 착각하여 오류를 일으킵니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: thunderbolt: Mark the connection down when bringing it up fails
Every failure path in tbnet_connected_work() undoes its own work and
returns without clearing login_sent, so the connection still looks
established. The next tbnet_tear_down() therefore takes its main branch
and repeats a teardown that already happened: it stops rings that are
already stopped, which is a dev_WARN() and fatal under panic_on_warn,
and it releases net->remote_transmit_path even on the HopID mismatch
path, where this connection never owned that id, silently freeing one
that someone else is still using.
Clear login_sent on those paths. That is enough for tbnet_tear_down() to
leave the unwound state alone, and login_received has to stay set: it
records that the peer has logged in and carries the transmit path it gave
us, which nothing on this side can make the peer send again. Two things
change beyond keeping the teardown out of the way: the logout request in
that block is no longer sent, and the peer's next login request now
re-queues our login work rather than connected_work, giving the
connection a fresh login instead of a retry on stale state.
📍 영향받는 시스템
Thunderbolt 네트워크 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
Thunderbolt 장치 연결 과정에서 의도적으로 연결 실패를 유도하여 시스템 패닉 또는 메모리 손상 유발
🛡️ 대응 방법
Thunderbolt 네트워크 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인