آسیبپذیری بحرانی در Kopia: اجرای کد از راه دور بدون احراز هویت
خلاصهٔ کاملتر
یه آسیبپذیری بحرانی با شناسه CVE-2026-45695 و امتیاز CVSS 9.8 در ابزار بکآپ متنباز Kopia فاش شده. این آسیبپذیری به مهاجم اجازه میده بدون هیچ احراز هویتی، از راه دور کد دلخواه روی سیستم قربانی اجرا کنه (RCE). کشف این باگ توسط محقق امنیتی Daniele Berardinelli صورت گرفته و پچ آن در نسخه ۰.۲۳.۰ منتشر شده.
ریشه مشکل در اندپوینت /api/v1/repo/exists از HTTP API سرور Kopia قراره داره. وقتی سرور با فلگ --without-password راهاندازی میشه و بکاند SFTP با SSH خارجی فعاله، مقادیری که کاربر در فیلدهای پیکربندی SFTP وارد میکنه بدون هیچ پاکسازیای مستقیماً به خط فرمان SSH پاس داده میشن. کد فقط با فاصله (space) آرگومانها رو جدا میکنه و نه توکنایزر درستی داره، نه quote handling، نه allowlist ورودی.
نتیجه اینه که مهاجم با یه درخواست HTTP ساده که شامل توکن -oProxyCommand= باشه، میتونه OpenSSH رو مجبور کنه قبل از برقراری هر اتصال شبکهای، دستور دلخواه رو اجرا کنه. این یعنی کل مکانیزم SFTP دور زده میشه و هیچ احراز هویتی هم لازم نیست.
شرط بهرهبرداری اینه که سرور Kopia روی یه اینترفیس غیر از localhost در دسترس باشه و با فلگ --without-password اجرا شده باشه — پیکربندیای که بعضی ادمینها در محیطهای داخلی برای راحتی استفاده میکنن. نسخههای ۰.۲۲.۳ و قدیمیتر آسیبپذیرند. سرورهای Kopia پشت ریورسپراکسی بدون لایه احراز هویت اضافه هم در معرض خطرند.
بهرهبرداری موفق میتونه به مهاجم امکان بده دستورات دلخواه رو با سطح دسترسی پروسه Kopia اجرا کنه، به تمام دادههای بکآپ دسترسی پیدا کنه یا اونها رو سرقت کنه، و حتی به زیرساختهای دیگه نفوذ کنه.
برای رفع مشکل باید فوری به نسخه ۰.۲۳.۰ ارتقا داد. این نسخه یه تغییر مهم داره: اجازه نمیده سرور با --insecure و --without-password روی اینترفیسهای غیر از localhost راهاندازی بشه. اگه ارتقا فوری ممکن نیست، باید سرور رو فقط به 127.0.0.1 باند کرد یا یه ریورسپراکسی با احراز هویت جلوش گذاشت. یه فلگ اضطراری (--allow-extremely-dangerous-unauthenticated-server-on-the-network) هم وجود داره، ولی استفاده ازش بهشدت توصیه نمیشه.
نکات کلیدی:
- آسیبپذیری از نوع SSH ProxyCommand Injection در بکاند SFTP کوپیاست
- بدون احراز هویت و با یه HTTP request ساده قابل بهرهبرداریه
- نسخههای ۰.۲۲.۳ و پایینتر آسیبپذیرند؛ همین الان به ۰.۲۳.۰ ارتقا بدید
- اگه ارتقا ممکن نیست، سرور رو فقط روی localhost اجرا کنید یا پشت یه پراکسی با auth بذارید
- هنوز exploit عمومی منتشر نشده، ولی پیچیدگی حمله خیلی پایینه




