🔍 CVE-2026-80430

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-09-29 21:32
✅ 완료

🇰🇷 한글 설명

kitty 0.47.0 미만 버전의 드래그 앤 드롭 프로토콜에서 파일 접근 전 부적절한 링크 해제 취약점이 발견되었습니다. 공격자가 터미널에 데이터를 작성함으로써 스테이징 디렉토리 외부의 경로에 파일과 디렉토리를 생성할 수 있습니다. 이는 심볼릭 링크의 대상 경로를 검증하지 않고 경로를 구성하여 발생하는 문제입니다.

💡 쉬운 설명

터미널 프로그램인 kitty를 사용할 때, 나쁜 의도를 가진 프로그램이 사용자의 허락 없이 컴퓨터의 엉뚱한 위치에 폴더나 파일을 만들 수 있는 보안 약점입니다. 심볼릭 링크라는 일종의 '바로가기' 기능을 악용하여 원래 정해진 구역을 벗어나게 만드는 방식입니다.

🇺🇸 원문 (English)

Improper Link Resolution Before File Access in the drag source staging 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 create files and directories at paths outside the staging directory, because subdir_data_for_drag() in kitty/dnd.c resolves a descendant of the staged item tree by constructing a path string and opening it with safe_open(path, O_DIRECTORY | O_RDONLY, 0) rather than by walking the tree one component at a time, so a client that declares two entries with the same name, the first a symlink whose target is an arbitrary absolute path and the second a directory, causes mkdirat() to fail with EEXIST, which the code ignores, and causes the subsequent path resolution to follow the symlink and return a directory descriptor outside the staging directory, which is then passed as the dirfd argument to add_payload() and used for every further create operation on that item and its descendants. Entry names are sanitised against path separators and dot components, but symlink targets are not validated. Files are created with O_CREAT | O_WRONLY | O_EXCL at mode 0644, so existing files cannot be overwritten, and directories are created with mkdirat() at mode 0755, so the attacker can create intermediate directories that did not previously exist. This results in the creation of files and directories at any path writable by the user running kitty, provided the symlink target is an existing directory.

📍 영향받는 시스템

kitty version 0.47.0 to 0.48.x

⚔️ 공격 벡터

터미널에 데이터를 쓰는 악성 프로그램이 심볼릭 링크를 포함한 드래그 앤 드롭 항목을 전달하여 경로 탈출 유도

🛡️ 대응 방법

kitty를 최신 버전인 0.49.0 이상으로 업데이트하십시오.

🔧 검증 코드

명령어 결과에 0.47.x 또는 0.48.x 버전이 출력되면 취약한 버전이 설치된 것입니다.

Shell / Script
kitty --version 2>/dev/null | grep -E '0\[\.(4[78])\.'

💻 영향받는 소프트웨어

Magento Open Source