$_SecureScope악용 확인 · 악용 확률 · 한국어 권고
● CISA KEV 미등재

CVE-2026-95834

Use After Free in the drag source 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 cause the terminal to read from and write to freed h…

보통4.6악용 확률 0.13%CWE-416공개 2026-09-25
4.629CWE-416

📌 이 취약점에 대해 확인된 사실

전부 발행처가 발표한 값입니다. 우리가 계산하거나 판단한 숫자는 하나도 없습니다.

악용 여부

CISA KEV 목록에 없습니다. 악용이 없다는 증명이 아니라, 미국 정부가 악용을 확인해 등재한 적이 없다는 뜻입니다.

심각도 (발행처 발표값)

보통4.6

CVSS 버전4.0
평가 기관CNA (취약점 발행기관)

CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

악용 확률 (EPSS)

0.1%

30일 내 악용 확률0.13%
전체 CVE 중 백분위2.0%
기준일2026-10-01

🇰🇷 한국어 공식 권고

KISA 보호나라 권고문 본문에서 이 CVE 번호가 발견된 문서입니다.

전체 권고 ›
이 CVE 를 다룬 KISA 보호나라 권고를 아직 찾지 못했습니다. 권고가 없다는 확증은 아닙니다 — 우리는 RSS 로 공개된 최근 공지만 수집합니다.

📄 원문 그대로

아래 문장은 전부 발행처가 쓴 것입니다. 번역하지 않습니다 — 보안 문서의 오역은 조치를 바꿉니다.

취약점 설명 (NVD)

Use After Free in the drag source 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 cause the terminal to read from and write to freed heap memory, because drag_remote_file_data() in kitty/dnd.c holds a DragRemoteItem pointer into an array it does not own, calls toplevel_data_for_drag() or subdir_data_for_drag(), and then continues to use that pointer. Those helpers, and add_payload() and populate_dir_entries() which they call, report errors through the abrt() macro, which expands to cancel_drag() followed by a plain return, and cancel_drag() calls drag_free_offer(), which frees the array the pointer refers to. The helpers return void, so the caller receives no indication that the teardown happened, and proceeds to call all_children_complete() on the freed pointer, which dereferences it, and then to write through it. That dereference is guarded by a local flag that is set when the request carries no payload and announces no further data, which is the same condition that selects the finalisation block of add_payload(), so the error paths in that block reach it: a create that fails because an entry of the same name already exists, because the client may declare two entries with one name and the create operations use O_CREAT with O_EXCL and symlinkat(), a mkdirat() failure other than EEXIST, and the directory entry allocation paths. Both branches reach it. In the top level branch the caller's pointer is never cleared, so clearing the owning structure's own pointers during teardown does not help. In the sub directory branch subdir_data_for_drag() sets the caller's pointer to NULL on entry and assigns it only after its own last error path, so its own aborts leave the caller with NULL and are stopped by a null check, but it then calls add_payload() with that pointer set, and an abort there leaves the caller holding a freed child node inside the item tree, which drag_free_offer() frees by recursion. This results in undefined behaviour in the terminal process, reachable from the byte stream of any program running in the window.

약점 유형(CWE):CWE-416

참조 문서 3건 · NVD 분석 상태 Received · 수집 2026-09-27

참고

이 취약점은 CISA KEV 에 등재되지 않아 CISA 원문이 없습니다. 영향 범위와 패치 버전은 제품 버전·구성에 따라 다르므로 반드시 공급사 공식 권고와 NVD 원문의 참조 링크를 확인하세요.

악용 확률 변화

우리가 매일 저장한 EPSS 스냅샷입니다. 원본은 전날 값만 주므로, 이 표는 수집을 시작한 이후만 보여줍니다.

기준일확률백분위
2026-10-010.13%2.0%
2026-09-290.13%2.0%
2026-09-270.13%2.0%
2026-09-260.13%2.0%
이 페이지는 조치 지시가 아닙니다. 영향 범위와 패치 버전은 제품·구성에 따라 다르므로, 반드시 공급사 공식 권고와 NVD 원문의 참조 링크를 확인하세요.