- شناسه CVE-2025-2749 :CVE
- CWE-22, CWE-434 :CWE
- yes :Advisory
- منتشر شده: مارس 24, 2025
- به روز شده: مارس 24, 2025
- امتیاز: 7.2
- نوع حمله: Arbitrary File Upload
- اثر گذاری: Remote code execution(RCE)
- حوزه: سیستم مدیریت محتوا
- برند: Kentico
- محصول: Xperience
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری اجرای کد از راه دور (RCE) احراز هویتشده در Kentico Xperience به کاربران دارای دسترسی در سرور Staging Sync اجازه می دهد دادههای دلخواه را در مسیرهای نسبی آپلود کنند؛ این امر باعث پیمایش مسیر (Path Traversal) و بارگذاری فایلهای قابلاجرای سمتسرور شده و در نهایت منجر به اجرای کد از راه دور (RCE) میشود.
توضیحات
آسیبپذیری CVE-2025-2749 در محصول Kentico Xperience تا نسخه 13.0.178 ناشی از ترکیب عدم محدودیت مناسب نام مسیر به دایرکتوری محدود مطابق با CWE-22 و آپلود نامحدود نوع فایل مطابق با CWE-434 در سرور Staging Sync (سرویس همگامسازی محتوا برای انتقال تغییرات بین نمونههای CMS) است.
در پیکربندیهای آسیبپذیر، زمانی که سرویس Staging فعال است و احراز هویت آن بر پایه نامکاربری و یا رمز عبور تنظیم شده باشد، کاربران احراز هویتشده میتوانند از طریق API Staging درخواستهای سریال سازی شده (stagingTaskData و TaskBinaryData) را ارسال و فایلهایی را به مسیرهای نسبی دلخواه روی سرور بارگذاری کنند. این عملکرد میتواند منجر به پیمایش مسیر (path traversal) و بارگذاری فایلهای مخرب در مکانهای قابل اجرای وب (مثلاً ایجاد فایلهای .aspx) شود و در نهایت اجرای کد از راه دور (RCE) را ممکن سازد.
این آسیبپذیری در حالت عادی نیازمند حساب کاربری معتبر است اما گزارشها و تحلیلهای منتشرشده نشان میدهد زنجیرههایی از ضعفها شامل دور زدن احراز هویت (Authentication Bypass) نیز معرفی شدهاند که میتوانند امکان بهرهبرداری حتی بدون احراز هویت مستقیم را فراهم کنند.
کد اثباتِ مفهوم (PoC) برای این آسیب پذیری منتشر شده و شامل نمونههای درخواست SOAP به اندپوینت /CMSPages/Staging/SyncServer.asmx با XML سریال سازی شده stagingTaskData و TaskBinaryData است؛ این PoC نشان میدهد چگونه با استفاده از TaskObjectType=media.file و عملیات CreateObject میتوان فایلهای رسانهای دلخواه (از جمله فایلهای قابل اجرا) را آپلود و در نهایت RCE را محقق ساخت. پیامدهای آسیبپذیری شامل تأثیر بالا بر محرمانگی با سرقت دادهها، یکپارچگی با تغییر یا جایگزینی فایلها و در دسترسپذیری با اختلال سرور است. این ضعف با انتشار hotfix 13.0.178 پچ شده است که منطق staging را برای اعتبارسنجی مسیر و آپلود تقویت میکند.
CVSS
| Score | Severity | Version | Vector String |
| 7.2 | HIGH | 3.1 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
لیست محصولات آسیب پذیر
| Versions | Product |
| affected from 0 through 13.0.178 | Xperience |
لیست محصولات بروز شده
| Versions | Product |
| 13.0.178 and later | Xperience |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که Kentico Xperience را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
| Approx. Usage in .ir Domain via Google
(Total Pages) |
Search Query (Dork) | Product |
| 395 | site:.ir “Kentico Xperience” | Kentico Xperience |
نتیجه گیری
این آسیبپذیری با شدت بالا در Kentico Xperience، ریسک اجرای کد از راه دور از طریق پیمایش مسیر و آپلود فایل مخرب در Staging Sync Server را افزایش میدهد و در صورت ترکیب با دور زدن احراز هویت می تواند منجر به کنترل کامل سرور و سرقت دادههای حساس شود. با توجه به انتشار پچ امنیتی رسمی، اجرای اقدامات زیر برای جلوگیری از بهرهبرداری و کاهش سطح ریسک ضروری است:
- بهروزرسانی فوری: تمام نمونههای Xperience را به نسخه 13.0.178 یا بالاتر به روزرسانی کنید. از Kentico Installation Manager برای اعمال هاتفیکس (hotfix) استفاده کنید و پس از نصب، قابلیتهای Staging را تست کنید.
- غیرفعالسازی staging: اگر سرویس Staging Sync Server مورد نیاز نیست، آن را در تنظیمات CMS غیرفعال کنید؛ در صورت نیاز، روش احراز هویت را به 509 (گواهیمحور) تغییر دهید تا استفاده از نامکاربری یا رمز عبور (username/password) حذف شود.
- اعتبارسنجی مسیر و محدودسازی آپلود: در کدهای سفارشی مسیرها را بهدرستی اعتبارسنجی کنید (مثلاً با استفاده از توابعی مانند GetFullPath یا Path.Combine و بررسی اینکه نتیجه داخل دایرکتوریهای مجاز باشد). آپلود فایل را فقط به دایرکتوریهای ایزوله و غیرقابلاجرای وب محدود کنید و نوع MIME را برای مسدودسازی پسوندهای اجرایی (مانند .aspx) بررسی نمایید.
- نظارت بر SOAP: ترافیک مربوط به اندپوینت های Staging (مثل /CMSPages/Staging/) را از طریق فایروال اپلیکیشن وب (WAF) مانند ModSecurity یا Azure WAF نظارت کنید و لاگهای Staging را در سطح DEBUG برای درخواستهای مشکوک (مثلاً nonce/timestamp نامعتبر یا درخواستهای با پیلودهای سریال سازی شده غیرمعمول) بازبینی نمایید.
- ایزولهسازی محیط: در صورت امکان Kentico Xperience را در محیطهای ایزولهشده (کانتینر مثل Docker یا سرویسهایی مانند Azure App Service) اجرا کنید و دسترسی به اندپوینت های Staging را محدود به آدرسهای IP داخلی کنید. اصل حداقل دسترسی (Least Privilege) را برای حسابهای Staging اعمال نمایید.
- تست امنیتی: سایتها و اندپوینت های Staging را با ابزارهای شناختهشدهای مثل OWASP ZAP یا Burp Suite برای تستهای Path Traversal و File Upload بررسی کنید و برای شناسایی نقاط ضعف در پردازش XML/SOAP و در پردازشگرهای مربوط به آپلود فایل، از تکنیکهای Fuzzing (تست ورودیهای تصادفی) و اسکنهای تخصصی استفاده نمایید.
- آموزش تیم: مدیران CMS و تیمهای توسعه را درباره ریسکهای سرویس Staging و اهمیت هاتفیکسهای هفتگی Kentico آموزش دهید؛ سیاستهای ثبت و بررسی (auditing) برای لاگهای آپلود ایجاد کرده و برای فعالیت های غیرمعمول، اعلان تنظیم کنید.
اجرای این اقدامات، بهویژه بهروزرسانی فوری و غیرفعالسازی یا محدود سازی staging، ریسک بهرهبرداری از این آسیبپذیری را بهطور چشمگیری کاهش داده و سطح امنیت پلتفرمهای Kentico Xperience را بهبود می بخشد.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
مهاجم با داشتن حساب کاربری معتبرِ Staging یا از طریق زنجیرههای دورزدن احراز هویت به اندپوینت /CMSPages/Staging/SyncServer.asmx دسترسی پیدا میکند و پارامترهای سریالشده (stagingTaskData / TaskBinaryData) را ارسال میکند تا فایل مخرب را برای آپلود ارائه دهد
Execution (TA0002)
فایل آپلودشده مثلاً .aspx با استفاده از ضعف پیمایش مسیر و عدم canonicalization در webroot قرار میگیرد و پس از فراخوانی URL مربوط، کد سمتسرور اجرا میشود — در عمل RCE حاصل میشود
Credential Access (TA0006)
بخشی از زنجیره میتواند شامل سرقت توکنهای نشست یا فایلهای پیکربندی حاوی اعتبارنامه باشد که از طریق فایلهای آپلود یا تغییرات مسیر آشکار میشوند
Discovery (TA0007)
با اجرای کد یا خواندن فایلهای سیستم، مهاجم میتواند ساختار دایرکتوری، تنظیمات وبسرور و فایلهای پیکربندی CMS را کشف کند تا مسیرهای باارزش برای استقرار persistence یا افزونۀ حمله را بیابد
Privilege Escalation (TA0004)
اجرای کد از طریق RCE میتواند امکان اجرای عملیات مدیریتی یا بارگذاری ماژولهای سرور را فراهم کند و در نتیجه سطح دسترسی را به حسابهای سرویس یا کاربر root وبسرور ارتقا دهد
Collection (TA0009)
مهاجم با قابلیت نوشتن/خواندن فایلها میتواند دادههای حساس (پایگاهداده، فایلهای پیکربندی، رسانهها) را جمعآوری کند و آنها را برای ارسال بعدی آماده نماید
Exfiltration (TA0010)
دادههای جمعآوریشده میتوانند از طریق اتصالات خروجی HTTP/S، آپلود به سرور خارجی یا قرارگیری در مسیرهای قابلدسترسی عمومی فوروارد شوند
Defense Evasion (TA0005)
مهاجم میتواند از تکنیکهایی مانند double‑encoding، استفاده از اسمهای فایلی با double‑extension یا تغییرات در سریالسازی XML برای فرار از قواعد فیلترینگ و تشخیص استفاده میکند
Lateral Movement (TA0008)
پس از بهدستآوردن دسترسی RCE یا اعتبارنامهها، مهاجم میتواند به سرویسهای دیگر CMS، شبکه داخلی یا محیط میزبانی pivot کند تا دامنه حمله را گسترش دهد
Impact (TA0040)
پیامد فنی: اجرای کد از راه دور، افشای دادهها، تغییر یا جایگزینی فایلهای وب و اختلال در در دسترسپذیری سرویس؛ پیامد عملی: از دست رفتن محرمانگی و یکپارچگی محتوای وب و نیاز به بازنشانی گسترده کلید /credential و بازسازی امن سرویس.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-2749
- https://www.cvedetails.com/cve/CVE-2025-2749/
- https://devnet.kentico.com/download/hotfixes
- https://labs.watchtowr.com/bypassing-authentication-like-its-the-90s-pre-auth-rce-chain-s-in-kentico-xperience-cms/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-2749
- https://vuldb.com/?id.300870
- https://nvd.nist.gov/vuln/detail/CVE-2025-2749
- https://cwe.mitre.org/data/definitions/22.html
- https://cwe.mitre.org/data/definitions/434.html