🇰🇷 한글 설명
kitty 터미널 0.47.0 미만 0.49.0 버전의 드래그 앤 드롭 프로토콜 처리 과정에서 권한 검증이 누락되었습니다. 사용자가 파일을 드롭하지 않고 창 위로 가져가기만 해도, 악성 프로그램이 드래그 데이터를 요청하여 파일 내용을 탈취할 수 있는 취약점입니다.
💡 쉬운 설명
파일을 터미널 창 위로 끌어다 놓기만 해도, 나쁜 프로그램이 그 파일의 내용을 몰래 읽어갈 수 있는 보안 결함입니다. 사용자가 파일을 실제로 떨어뜨려 놓지 않았음에도 데이터가 유출될 수 있습니다.
🇺🇸 원문 (English)
Missing Authorization in the drop handling path of the drag and drop protocol in kitty from 0.47.0 before 0.49.0 allows a program writing to the terminal to obtain the contents of files dragged over the window even when the user never completes the drop, because drop_enqueue_request() in kitty/dnd.c serves a drag data request without first checking the drop state of the window, so a client that issues the request while a drag is merely hovering receives the data offered for the drag. In the same file, drop_left_child(), which runs when the drag leaves the window without a drop having occurred, releases the offered MIME list but retains the pending request state, the open file descriptor and its main loop transfer timer, the directory handles, the URI list and the pending MIME name, so a client can continue to read through a retained directory handle, and an in-flight file transfer continues to stream, when no drag is in progress. The file contents are read from the filesystem by the kitty process itself using the paths the drag source offered. This results in disclosure of the contents of files the user moved over the window without ever releasing them into it.
📍 영향받는 시스템
kitty terminal versions 0.47.0 to 0.48.x
⚔️ 공격 벡터
터미널 창 위에 파일이 호버링(hovering)된 상태에서 악성 프로그램이 드래그 데이터 요청을 전송
🛡️ 대응 방법
kitty를 0.49.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 0.47.x 또는 0.48.x 버전이 포함되어 있다면 해당 취약점에 노출된 상태입니다.
kitty --version 2>/dev/null | grep -E '0\[\.(4[78])\.0'