🇰🇷 한글 설명
리눅스 커널의 kbd_keycode() 함수가 tty 참조를 획득하지 않고 vc->port.tty를 읽음으로써 발생하는 레이스 컨디션 취약점입니다. con_shutdown() 함수가 다른 잠금 하에서 port.tty를 해제하는 과정에서 충돌이 발생할 수 있습니다. 이를 해결하기 위해 tty_port_tty_get()과 tty_kref_put()을 사용하여 적절한 참조를 유지하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 키보드 입력 처리 과정에서 데이터가 사라지는 타이밍 문제로 인해 시스템 오류가 발생할 수 있는 결함입니다. 특정 상황에서 키보드 관련 정보가 갑자기 사라져 시스템이 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vt: stabilize tty reference in kbd_keycode with tty_port_tty_get
kbd_keycode() reads vc->port.tty without acquiring a tty reference,
racing against con_shutdown() which clears port.tty under a different
lock. Use tty_port_tty_get()/tty_kref_put() to hold a proper reference
for the duration the tty pointer is needed.
📍 영향받는 시스템
tty 관련 코드가 포함된 취약한 버전의 Linux Kernel
⚔️ 공격 벡터
시스템 종료 또는 콘솔 셧다운 시 발생하는 레이스 컨디션(Race Condition)을 이용한 공격
🛡️ 대응 방법
tty 참조를 안정화하는 패치가 적용된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인