یک آسیبپذیری امنیتی از نوع Use-After-Free (UAF) در پروتکل Drag and Drop ترمینال Kitty شناسایی شده است که تحت شناسه CVE-2026-95834 ثبت شده است. این نقص امنیتی در نسخههای 0.47.0 تا پیش از نسخه 0.49.0 مشاهده میشود.
جزئیات فنی آسیبپذیری
این مشکل در مسیر منبع کشیدن (drag source path) در پروتکل کشیدن و رها کردن (Drag and Drop) رخ میدهد. به طور دقیقتر، تابع drag_remote_file_data() در فایل kitty/dnd.c یک اشارهگر (Pointer) از نوع DragRemoteItem را به آرایهای نگه میدارد که مالکیت آن با این تابع نیست. سپس با فراخوانی توابع کمکی مانند toplevel_data_for_drag() یا subdir_data_for_drag()، مدیریت حافظه دچار اختلال شده و برنامه همچنان سعی میکند از آن اشارهگر استفاده کند.
تاثیرات امنیتی
در نتیجه این نقص، برنامهای که قادر به نوشتن در ترمینال باشد، میتواند باعث شود ترمینال شروع به خواندن و نوشتن در حافظه Heap آزاد شده (Freed Heap Memory) کند. این وضعیت میتواند منجر به رفتارهای پیشبینی نشده یا در موارد پیشرفتهتر، اجرای کد یا کرش کردن برنامه شود.
- نوع آسیبپذیری: Use-After-Free
- نسخههای آسیبپذیر: 0.47.0 تا 0.48.x
- نسخه اصلاح شده: 0.49.0