چکیده

آسیب‌پذیری بحرانی CVE-2026-45746 در قابلیت فایل منیجر (File Manager)  نرم‌افزار Termix به مهاجمان احراز هویت‌ شده اجازه می ‌دهد با دستکاری پارامتر sessionId، کنترل دسترسی را دور زده و به نشست SSH کاربران دیگر دسترسی پیدا کنند. از آنجا که این نشست ‌ها به VPSهای راه دور متصل هستند، مهاجم می‌تواند از قابلیت‌ های فایل منیجر برای دسترسی، تغییر، بارگذاری و اجرای فایل‌ها استفاده کرده و در نهایت منجر به اجرای دستورات دلخواه و اجرای کد از راه دور (RCE) روی سرور قربانی شود.

توضیحات

آسیب‌پذیری CVE-2026-45746 در نرم‌افزار Termix از نوع ضعف در کنترل دسترسی (Improper Access Control) است که مطابق با CWE-284 طبقه ‌بندی می ‌شود و به‌ طور مشخص با CWE-639، یعنی دور زدن مجوزدهی از طریق کلید تحت کنترل کاربر (Authorization Bypass Through User-Controlled Key)، ارتباط دارد. ثبت دو CWE برای این آسیب ‌پذیری به این دلیل است که مشکل امنیتی موجود، هم به ضعف در اعمال کنترل‌ های دسترسی مربوط می ‌شود و هم ناشی از اعتبارسنجی نادرست یک شناسه تحت کنترل کاربر است. در این مورد، Termix درخواست را از یک کاربر احراز هویت ‌شده می ‌پذیرد، اما هنگام پردازش پارامتر sessionId بررسی نمی ‌کند که نشست مشخص ‌شده واقعاً متعلق به همان کاربر باشد. در نتیجه، مهاجم می ‌تواند با تغییر این شناسه، کنترل دسترسی را دور زده و به نشست فعال کاربر دیگری دسترسی پیدا کند. به بیان ساده، Termix هویت کاربر درخواست ‌کننده را تأیید می ‌کند، اما مالکیت منبعی را که کاربر قصد دسترسی به آن را دارد، به ‌درستی اعتبارسنجی نمی ‌کند. در این ساختار، CWE-284 ماهیت کلی ضعف و CWE-639 نحوه بروز آن از طریق sessionId تحت کنترل کاربر را توصیف می‌کنند.

Termix یک پلتفرم تحت وب و خودمیزبان (Self-hosted) برای مدیریت سرورها و اتصال ‌های راه دور است که قابلیت‌ هایی مانند ترمینال SSH، تانلینگ (Tunneling) و مدیریت فایل را ارائه می ‌کند. قابلیت فایل منیجر (File Manager) در Termix برای انجام عملیات روی فایل‌ های میزبان‌ های راه دور از نشست ‌های فعال SSH استفاده می ‌کند. به همین دلیل، هر نشست فایل منیجر به یک اتصال SSH فعال به یک VPS یا سرور راه دور متصل است و دسترسی به آن می ‌تواند امکان تعامل مستقیم با فایل‌ سیستم آن میزبان را فراهم کند. بنابراین، ضعف در کنترل دسترسی نشست ‌ها تنها به خود برنامه Termix محدود نمی ‌شود و در صورت موفقیت حمله، می ‌تواند دسترسی غیرمجاز به فایل ‌ها و منابع سیستم راه دور متصل به نشست را نیز در اختیار مهاجم قرار دهد.

ریشه فنی آسیب‌ پذیری در نحوه پردازش پارامتر sessionId قرار دارد. این پارامتر از سمت کلاینت کنترل می ‌شود، یک مقدار عددی و قابل پیش ‌بینی دارد و در سمت بک ‌اند (Backend) به کاربر احراز هویت‌ شده وابسته نیست. در یک پیاده ‌سازی امن، برنامه باید علاوه بر اعتبارسنجی نشست، مالکیت آن را نیز بررسی کند تا اطمینان حاصل شود sessionId ارسال‌ شده متعلق به همان کاربری است که درخواست را ثبت کرده است. اما در نسخه ‌های آسیب ‌پذیر، بک ‌اند بدون انجام این کنترل مالکیت، sessionId ارسال‌ شده توسط کلاینت را می‌ پذیرد و بر اساس آن نشست مورد نظر را انتخاب می‌ کند. در نتیجه، یک مهاجم دارای حساب کاربری معتبر می ‌تواند مقدار sessionId را تغییر دهد و شناسه نشست فعال کاربر دیگری را در درخواست قرار دهد.

این فرآیند در عمل منجر به ربایش نشست (Session Hijacking) می ‌شود، زیرا مهاجم با جایگزین کردن شناسه نشست قربانی، بدون داشتن مجوز لازم به نشست فعال کاربر دیگر دسترسی پیدا می‌کند و می ‌تواند از قابلیت‌ های مرتبط با آن استفاده کند. از آنجا که نشست فایل منیجر به یک اتصال SSH فعال متصل است، مهاجم می‌تواند از طریق این نشست با فایل ‌سیستم VPS کاربر هدف تعامل داشته باشد. در ادامه، قابلیت ‌هایی مانند executeFile می ‌توانند این دسترسی غیرمجاز را به اجرای کد از راه دور (RCE) روی VPS کاربر هدف تبدیل کنند.

این آسیب‌پذیری به یک Endpoint خاص محدود نیست و چندین مسیر در قابلیت فایل منیجر را تحت تأثیر قرار می ‌دهد. برای مثال، در درخواست GET /ssh/file_manager/ssh/listFiles?sessionId=1&path=/root، مقدار sessionId مشخص می‌کند عملیات روی کدام نشست SSH انجام شود. مهاجم می‌ تواند با تغییر این مقدار و قرار دادن شناسه نشست کاربر دیگر، بدون آنکه مالکیت نشست بررسی شود، اطلاعات فایل‌ های موجود در فایل ‌سیستم میزبان راه دور آن کاربر را دریافت کند. دامنه این آسیب ‌پذیری به مشاهده فایل‌ ها محدود نیست و قابلیت‌ هایی مانند readFile برای خواندن، writeFile برای نوشتن، uploadFile برای بارگذاری، createFile و createFolder برای ایجاد فایل و پوشه، deleteItem برای حذف و renameItem، moveItem و copyItem برای جابه ‌جایی و مدیریت فایل ‌ها را نیز دربر می‌گیرد. همچنین قابلیت changePermissions امکان تغییر مجوزهای فایل و executeFile امکان اجرای فایل روی میزبان راه دور را فراهم می‌کند. مسیرهای دیگری مانند sudo-password، keepalive، identifySymlink، resolvePath، extractArchive و compressFiles نیز  به‌عنوان بخشی از سطح حمله این آسیب ‌پذیری معرفی شده ‌اند. بنابراین، مهاجم در صورت دسترسی به sessionId یک نشست دیگر، می‌تواند از طیف گسترده‌ای از قابلیت‌ های فایل منیجر در زمینه نشست کاربر هدف استفاده کند و دامنه دسترسی خود را از مشاهده اطلاعات به تغییر، بارگذاری و اجرای فایل روی سیستم راه دور گسترش دهد.

وجود قابلیت‌ های متعدد در فایل منیجر باعث می‌شود پیامد این آسیب ‌پذیری تنها به دسترسی غیرمجاز به اطلاعات محدود نشود. مهاجم پس از دسترسی به نشست کاربر دیگر می‌تواند فایل ‌های موجود روی VPS مرتبط با آن نشست را مشاهده و بررسی کند و به اطلاعات حساسی مانند اعتبارنامه‌ ها، فایل ‌های پیکربندی و توکن ‌ها دسترسی پیدا کند. همچنین امکان تغییر فایل‌ های موجود و بارگذاری فایل ‌های مخرب روی سیستم وجود دارد. مهم‌تر از همه، قابلیت executeFile به مهاجم اجازه می ‌دهد فایل ‌ها را روی میزبان راه دور اجرا کند. در نتیجه، مهاجم می‌تواند از ضعف موجود در کنترل دسترسی برای دسترسی به نشست SSH کاربر دیگر استفاده کرده و در نهایت به اجرای کد از راه دور (RCE) روی VPS او دست پیدا کند.

این آسیب ‌پذیری از راه دور و از طریق شبکه قابل انجام است و مهاجم برای حمله به دسترسی فیزیکی یا لوکال به سیستم نیاز ندارد. برای اجرای حمله، داشتن یک حساب کاربری معتبر با سطح دسترسی پایین کافی است و مهاجم نیازی به دسترسی مدیریتی ندارد. در این شرایط، مهاجم می‌تواند با تغییر sessionId نشست کاربر دیگر را هدف قرار دهد و به منابع مرتبط با آن دسترسی پیدا کند. در ارزیابی CVSS، این سناریو به تعامل کاربر نیاز دارد و وجود یک نشست فعال برای کاربر هدف از شرایط این سناریوی حمله محسوب می‌شود. از آنجا که نشست ‌های Termix به اتصال ‌های SSH و VPSهای راه دور متصل هستند، پیامد حمله می‌ تواند از خود برنامه فراتر رفته و به فایل ‌ها و منابع سیستم راه دور کاربر هدف نیز برسد.

این آسیب ‌پذیری می ‌تواند هر سه اصل اصلی امنیت اطلاعات را به ‌شدت تحت تأثیر قرار دهد. از نظر محرمانگی (Confidentiality)، مهاجم می ‌تواند به فایل‌ های کاربران دیگر دسترسی پیدا کرده و اطلاعات حساسی مانند اعتبارنامه ‌ها، فایل‌ های پیکربندی و توکن ‌ها را مشاهده کند. از نظر یکپارچگی (Integrity)، امکان نوشتن، تغییر، حذف و بارگذاری فایل به مهاجم اجازه می ‌دهد داده ‌ها و فایل ‌های موجود روی سیستم را دستکاری کند. از نظر دسترس ‌پذیری (Availability) نیز مهاجم می‌تواند با حذف یا تغییر فایل ‌ها، اجرای فایل ‌های مخرب و ایجاد اختلال در منابع میزبان، عملکرد سرویس ‌ها و VPS را مختل کند. این آسیب‌ پذیری در Termix با انتشار نسخه 2.3.2 پچ شده است.

CVSS

Score Severity Version Vector String
9.0 CRITICAL 3.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
CVE-2026-45746
شکل 1: تفسیر جدول CVSS

 لیست محصولات آسیب پذیر

Versions Product
affectedat < 2.3.2 Termix

لیست محصولات بروز شده

Versions Product
2.3.2 and later Termix

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Termix-SSH را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google (Total Pages) Search Query (Dork) Product
7 site:.ir “Termix-SSH” Termix-SSH

نتیجه گیری

این آسیب‌پذیری با شدت بحرانی (Critical) در قابلیت فایل منیجر نرم‌افزار Termix، امکان دور زدن کنترل دسترسی و ربایش نشست کاربران دیگر را فراهم می‌کند و در صورت سوء استفاده موفق، می‌تواند منجر به دسترسی غیرمجاز به فایل ‌ها، تغییر و بارگذاری فایل و در نهایت اجرای کد از راه دور (RCE) روی VPS کاربر هدف شود. با توجه به شدت آسیب ‌پذیری، انتشار نسخه اصلاحی و پیامدهای احتمالی آن، اجرای اقدامات زیر برای رفع آسیب ‌پذیری و کاهش ریسک سوءاستفاده توصیه می‌شود:

  • بروزرسانی Termix: نرم‌افزار را در اسرع وقت به نسخه 3.2 یا نسخه ‌های جدیدتر بروزرسانی کنید. نصب نسخه پچ‌ شده، مؤثرترین راهکار برای رفع این آسیب ‌پذیری و جلوگیری از سوءاستفاده از آن است.
  • اتصال sessionId به کاربر احراز هویت ‌شده در سمت سرور: در سمت سرور باید مشخص شود هر sessionId متعلق به کدام کاربر است و برنامه نباید صرفاً بر اساس شناسه ارسال‌ شده از سوی کلاینت، نشست موردنظر را انتخاب کند.
  • بررسی مالکیت نشست در هر درخواست: در تمام درخواست‌ هایی که از sessionId استفاده می‌کنند، باید علاوه بر احراز هویت کاربر، مالکیت نشست نیز بررسی شود تا اطمینان حاصل گردد نشست موردنظر به همان کاربری تعلق دارد که درخواست را ارسال کرده است.
  • مسدودسازی دسترسی به نشست‌ های کاربران دیگر: هرگونه درخواست برای دسترسی به نشستی که متعلق به کاربر احراز هویت ‌شده نیست باید در سمت سرور شناسایی و مسدود شود تا امکان استفاده از sessionId برای دسترسی غیرمجاز به منابع سایر کاربران وجود نداشته باشد.
  • استفاده نکردن از شناسه‌ های قابل پیش ‌بینی: شناسه‌ های نشست نباید به‌ گونه‌ای تعیین شوند که مهاجم بتواند با حدس زدن یا تغییر آن‌ ها به نشست‌ های کاربران دیگر دسترسی پیدا کند. همچنین، شناسه‌ های نشست باید به ‌صورت تصادفی و غیرقابل پیش ‌بینی انتخاب شوند تا امکان سوء استفاده از آن‌ ها کاهش یابد.
  • اعمال کنترل‌ های مجوزدهی در تمام Endpoint های فایل منیجر: بررسی‌ های مربوط به احراز هویت و مالکیت نشست باید در تمام Endpoint های فایل منیجر اعمال شوند تا هیچ مسیر یا قابلیتی مانند خواندن، نوشتن، بارگذاری، حذف یا اجرای فایل امکان دور زدن کنترل‌ های دسترسی را فراهم نکند.

اجرای این اقدامات، به ‌ویژه بروزرسانی Termix به نسخه 2.3.2 یا جدیدتر و بررسی مالکیت نشست در سمت سرور، می ‌تواند از دسترسی غیرمجاز به نشست ‌ها و منابع سایر کاربران جلوگیری کرده و ریسک سوءاستفاده و اجرای کد از راه دور (RCE) را کاهش دهد.

امکان استفاده در تاکتیک‌های MITRE ATT&CK (در زمان اجرای حمله)

Initial Access (TA0001)

مهاجم ابتدا باید به رابط Termix دسترسی داشته باشد و طبق بردار CVSS، برای بهره‌ برداری Privileges Required،  Low است. پس از احراز هویت با یک حساب دارای سطح دسترسی محدود، مهاجم می‌ تواند از طریق رابط File Manager و دستکاری پارامتر sessionId تلاش کند یک session فعال متعلق به کاربر دیگر را مورد استفاده قرار دهد. این موضوع می ‌تواند به‌ عنوان بخشی از مرحله Initial Access در یک زنجیره حمله در نظر گرفته شود، هرچند خود CVE ایجاد حساب یا دسترسی اولیه به Termix را فراهم نمی‌کند.

Privilege Escalation (TA0004)

مهاجم با سوء استفاده از نقص کنترل دسترسی می ‌تواند از سطح دسترسی حساب خودش فراتر رفته و به File Manager session متعلق به کاربر دیگری دسترسی پیدا کند. اگر session قربانی به یک VPS با سطح دسترسی بالاتر متصل باشد، مهاجم عملاً می‌ تواند از دسترسی آن session برای انجام عملیات روی سیستم مقصد استفاده کند. بنابراین این CVE می‌تواند در یک زنجیره حمله به Privilege Escalation منجر شود؛ البته افزایش دسترسی ناشی از به ‌دست‌ آوردن session قربانی است و نه یک مکانیزم سنتی افزایش سطح دسترسی در سیستم‌عامل.

Lateral Movement (TA0008)

این تاکتیک در سناریویی قابل اعمال است که Termix برای مدیریت چندین VPS یا سیستم راه دور استفاده شود. مهاجم پس از ربایش File Manager session یک کاربر دیگر، می‌تواند از اتصال SSH موجود در آن session برای تعامل با VPS مربوطه استفاده کند. بنابراین آسیب ‌پذیری می‌تواند مسیر حرکت مهاجم از حساب Termix به یک سیستم راه دور مدیریت ‌شده از طریق SSH را فراهم کند.

Execution (TA0002)

پس از دسترسی غیرمجاز به File Manager session قربانی، مهاجم می ‌تواند از قابلیت اجرای فایل و دستور موجود در File Manager برای اجرای عملیات روی VPS متصل ‌شده استفاده کند. در نتیجه، اثر نهایی CVE می‌تواند به Remote Code Execution روی VPS قربانی منجر شود. NVD نیز صراحتاً اعلام می‌کند که قابلیت File Manager شامل file reading، writing، uploading و execution است و سوء استفاده موفق می ‌تواند به اجرای مستقیم دستورات روی VPS دیگر کاربر منجر شود.

Collection (TA0009)

پس از ربایش session، مهاجم می ‌تواند از قابلیت خواندن فایل در File Manager برای دسترسی به فایل‌ های موجود روی VPS استفاده کند. بنابراین در صورت وجود اطلاعات حساس، کلیدهای SSH، فایل‌ های پیکربندی، credential ها یا سایر داده ‌های ارزشمند، مهاجم می ‌تواند از دسترسی ایجاد شده برای جمع ‌آوری آن ‌ها استفاده کند. این قابلیت مستقیماً در سطح File Manager وجود دارد و در توضیح رسمی CVE نیز امکان file reading ذکر شده است.

Impact (TA0040)

بهره ‌برداری موفق می‌ تواند تأثیر کامل Confidentiality، Integrity و Availability داشته باشد. مهاجم پس از دسترسی به session قربانی قادر به خواندن و تغییر فایل‌ ها، آپلود فایل و اجرای دستورات روی VPS متصل ‌شده است.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2026-45746
  2. https://www.cvedetails.com/cve/CVE-2026-45746/
  3. https://github.com/Termix-SSH/Termix/security/advisories/GHSA-cx2r-843c-vww8
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2026-45746
  5. https://vuldb.com/vuln/368955
  6. https://github.com/GabrielHA12/Termix-research
  7. https://nvd.nist.gov/vuln/detail/CVE-2026-45746
  8. https://cwe.mitre.org/data/definitions/284.html
  9. https://cwe.mitre.org/data/definitions/639.html