خانه » CVE-2025-55752

CVE-2025-55752

Apache Tomcat: Directory Traversal Via Rewrite With Possible RCE If PUT Is Enabled

توسط Vulnerbyte Alerts
194 بازدید
هشدار سایبری CVE-2025-55752

چکیده

آسیب‌پذیری پیمایش مسیر (Path Traversal) در Apache Tomcat به‌دلیل یک خطای بازگشتی در رفع باگ 60013 ایجاد شده است؛ به‌گونه‌ای که URL بازنویسی‌شده پیش از بازگشایی (Decoding)، عادی‌سازی می‌شود. این عملکرد نادرست باعث می‌شود مهاجم بتواند در قوانین بازنویسی (Rewrite Rules) که پارامترهای کوئری را به مسیر تبدیل می‌کنند، با دستکاری URI محدودیت‌های امنیتی دایرکتوری های محافظت‌شده مانند ‎ /WEB-INF/و ‎ /META-INF/را دور بزند. در صورتی که متد PUT نیز فعال باشد، مهاجم می‌تواند فایل مخرب را آپلود کرده و در نهایت به اجرای کد از راه دور (RCE) دست یابد.

توضیحات

آسیب‌پذیری CVE-2025-55752 در کامپوننت RewriteValve سرور Apache Tomcat به دلیل پیمایش مسیر نسبی مطابق با CWE-23 است. این ضعف ناشی از یک بازگشت (regression) در فیکس باگ قدیمی 60013 است، جایی که ترتیب پردازش روی URL تغییر کرده و عادی‌سازی (normalization) پیش از بازگشایی (decoding) انجام می شود. این عملکرد در سناریوهایی که قوانین بازنویسی، پارامترهای کوئری (Query Parameters) را به بخش مسیر URL تبدیل می‌کنند، به مهاجم اجازه می دهد با ارسال پیلودهای مخصوص، فرآیند عادی‌سازی را دور بزند و به دایرکتوری‌های محافظت‌شده /WEB-INF/ و /META-INF/ دسترسی پیدا کند.

اگر در وب‌اپلیکیشن یا تنظیمات Tomcat متد HTTP PUT فعال باشد (که به‌صورت پیش‌فرض غیرفعال است و معمولاً فقط برای کاربران قابل اعتماد فعال می‌شود)، مهاجم قادر خواهد بود فایل‌های مخرب (مانند JSP webshell) را در مسیرهای دلخواه آپلود کند و منجر به اجرای کد از راه دور (RCE) شود.

بهره‌برداری از این ضعف به‌سادگی قابل خودکارسازی است؛ مهاجم می‌تواند با اسکریپت‌ها یا ابزارهای خودکار (مانند ابزار TOMCAT در گیت‌هاب)، از راه دور و بدون تعامل کاربر، پیلودهای پیمایش مسیر را در پارامترهای کوئری یا URI تزریق کند، محدودیت‌های امنیتی را دور بزند و در صورت فعال بودن PUT، وب شل را آپلود و اجرا نماید.

اسکریپت‌های تشخیص و کاهش ریسک برای این آسیب‌پذیری منتشر شده است. اسکریپت‌های تشخیص، نسخه Apache Tomcat را بررسی کرده و آن را با بازه‌های آسیب‌پذیر تطبیق می‌دهند، قوانین rewrite را تحلیل کرده و پارامتر readonly را در فایل web.xml بررسی می‌کنند تا مشخص شود سرور در معرض آسیب پذیری قرار دارد یا خیر. اسکریپت‌های کاهش ریسک نیز با غیرفعال کردن RewriteValve و اعمال readonly=true برای DefaultServlet، امکان استفاده از PUT و آپلود فایل مخرب را مسدود می‌کنند. این اسکریپت‌ها نسخه پشتیبان از فایل‌های پیکربندی ایجاد کرده و پس از اعمال امن تغییرات، امکان راه‌اندازی مجدد سرور با تنظیمات سخت‌گیرانه‌تر را فراهم می‌کنند.

کد اثبات مفهومی(PoC) این آسیب‌پذیری به‌صورت عمومی در GitHub منتشر شده است و با استفاده از تکنیک هایی مانند الگوی پیمایش مسیر مانند ….//، سمی‌کالن (..;/)، یونیکدهای انحرافی (%c0%af) و دوبار رمزگذاری، امکان دور زدن عادی سازی مسیر در Tomcat را نشان می‌دهد. این PoC توانایی خواندن فایل‌های حساس خارج از webroot را تأیید می‌کند و در صورت فعال بودن متد PUT، نشان می‌دهد که مهاجم می‌تواند فایل مخرب (JSP webshell) آپلود کرده و به اجرای کد از راه دور (RCE) دست یابد. این کد عملاً اثبات می‌کند که آسیب‌پذیری می‌تواند منجر به افشای اطلاعات و در برخی پیکربندی‌ها به کنترل کامل سرور شود. در نتیجه این ضعف می تواند منجر به نقض کامل محرمانگی، یکپارچگی و در دسترس پذیری شود. این آسیب پذیری با انتشار نسخه های 11.0.11، 10.1.45 و 9.0.109 به طور کامل پچ شده است.

CVSS

Score Severity Version Vector String
7.5 HIGH 3.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

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

Versions Product
affected from 11.0.0-M1 through 11.0.10

affected from 10.1.0-M1 through 10.1.44

affected from 9.0.0.M11 through 9.0.108

affected from 8.5.6 through 8.5.100

unknown from 3 before 8.5.0

unknown from 10.0.0-M1 through 10.0.27

Apache Tomcat

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

Versions Product
Upgrade to Apache Tomcat 11.0.11 or later

Upgrade to Apache Tomcat 10.1.45 or later

Upgrade to Apache Tomcat 9.0.109 or later

Apache Tomcat

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

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

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
6,580 site:.ir “Apache Tomcat” Apache Tomcat

نتیجه گیری

این آسیب‌پذیری با شدت بالا در Apache Tomcat امکان پیمایش مسیر را فراهم می‌کند و در صورت فعال بودن متد HTTP PUT، می‌تواند منجر به اجرای کد از راه دور (RCE) شود. با توجه به انتشار پچ رسمی و وجود PoC عمومی، اجرای اقدامات زیر برای جلوگیری از بهره برداری توصیه می شود:

  • به‌روزرسانی فوری: تمام سرورهای Tomcat را به نسخه‌های 11.0.11، 10.1.45، 9.0.109 یا بالاتر به روزرسانی کنید. به روزرسانی، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • غیرفعال کردن کامپوننت بازنویسی آدرس‌ها (RewriteValve): در فایل‌های پیکربندی شامل xml و context.xml، بخش مربوط بهorg.apache.catalina.valves.rewrite.RewriteValve را حذف یا غیرفعال کنید تا قابلیت بازنویسیURL که منشأ این ضعف است غیرفعال شود.
  • مسدود کردن متد PUT: در فایل xml (چه در سطح سراسری، چه در سطح هر برنامه)، مقدار readonly=true را برای DefaultServlet تنظیم کنید تا امکان ارسال فایل با متد PUT از بین برود.
  • استفاده از فایروال اپلیکیشن وب (WAF): قوانین امنیتی ModSecurity یا Cloudflare WAF را برای جلوگیری از پیلودهای مخرب شامل الگوهای پیمایش مسیر مانند ../ ، %2e%2e ، ….// و نسخه‌های چندبار رمزگذاری‌شده (Double-Encoded) فعال کنید.
  • محدودسازی دسترسی: دسترسی به پنل مدیریت Tomcat و وب اپلیکیشن ها را تنها از طریق VPN یا نشانی‌های IP مجاز (Whitelisted IPs) امکان‌پذیر کنید. همچنین متدهای با ریسک بالا مانند PUT و DELETE را در پروکسی معکوس (Reverse Proxy) مانند Nginx یا Apache HTTPD مسدود کنید.
  • نظارت و لاگ: لاگ‌های دسترسی Tomcat را به‌صورت مستمر بررسی کنید و برای درخواست‌هایی که حاوی الگوهای پیمایش مسیر یا رمزگذاری‌های غیرمعمول هستند، هشدارهای بلادرنگ تعریف کنید.
  • اسکن منظم: از ابزارهای شناسایی مانند الگوهای Nuclei یا اسکریپت‌های منتشرشده در GitHub برای تشخیص وضعیت آسیب‌پذیری و ارزیابی پیکربندی سرور استفاده کنید.

اجرای سریع به‌روزرسانی و غیرفعال کردن RewriteValve همراه با مسدودسازی PUT، ریسک ناشی از این آسیب‌پذیری را کاهش داده و امنیت سرورهای Apache Tomcat را در برابر حملات پیمایش مسیر و اجرای کد از راه دور تضمین می کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)

مهاجم از طریق ارسال یک URL دست‌کاری‌شده شامل الگوهای پیمایش مسیر در قوانین RewriteValve به سرور دسترسی اولیه می‌گیرد. این ورودی مخرب بدون نیاز به تعامل کاربر و از طریق اینترنت قابل ارسال است و باعث دورزدن کنترل‌های دایرکتوری محافظت‌شده مانند ‎/WEB-INF/ و ‎/META-INF/ می‌شود.

Execution (TA0002)

در صورت فعال بودن متد PUT یا پیکربندی نادرست DefaultServlet، مهاجم می‌تواند یک فایل JSP مخرب را در مسیر قابل اجرا آپلود کرده و آن را اجرا کند؛ در نتیجه اجرای کد از راه دور (RCE) رخ می‌دهد. این مرحله کاملاً بدون نیاز به تعامل کاربر انجام می‌شود و سطح دسترسی مهاجم به سطح اجرای سرویس Tomcat ارتقا می‌یابد.

Credential Access (TA0006)

با دسترسی خواندن به مسیرهای حساس، امکان افشای فایل‌های پیکربندی شامل credentialهای ذخیره‌شده در web.xml، context.xml و فایل‌های کانفیگ اپلیکیشن وجود دارد. این اطلاعات می‌تواند در حملات بعدی برای ورود مستقیم به سرویس‌ها یا دیتابیس‌ها استفاده شود.

Discovery (TA0007)

مهاجم پس از دور زدن محدودیت‌ها می‌تواند ساختار دایرکتوری، فایل‌های داخلی اپلیکیشن، منابع جاوا، و ساختار پروژه را کشف کرده و اطلاعات لازم برای مرحله آپلود شل یا دورزدن‌های دیگر را شناسایی کند.

Privilege Escalation (TA0004)

اگر فایل مخرب (JSP webshell) در دایرکتوری قابل اجرا قرار گیرد، مهاجم می‌تواند کنترل کامل فرآیند Tomcat را بگیرد و به سطح دسترسی برابر با سرویس Tomcat برسد. این عملاً ارتقای سطح دسترسی در لایه اپلیکیشن است.

Defense Evasion (TA0005)

مهاجم با استفاده از الگوهای پیمایش مسیر چندلایه از مکانیزم عادی‌سازی Tomcat عبور کرده و باعث می‌شود WAF های ضعیف یا لاگ‌آنالایزرها نتوانند پیلود را تشخیص دهند.

Lateral Movement (TA0008)

در صورتی که Tomcat روی سروری قرار داشته باشد که به سرویس‌های دیگر متصل است (مثلاً دیتابیس یا سرویس‌های داخلی)، مهاجم می‌تواند از وب‌شل برای pivot کردن و عبور به سرورهای دیگر در شبکه استفاده کند.

Collection (TA0009)

پس از پیمایش مسیر موفق، فایل‌های حساس مانند تنظیمات، کلیدها، لاگ‌ها و سورس‌کد اپلیکیشن قابل استخراج است؛ این داده‌ها برای مراحل بعدی حمله حیاتی هستند.

Exfiltration (TA0010)

مهاجم می‌تواند محتوای داخلی اپلیکیشن، فایل‌ها، تغییرات کانفیگ، و داده‌های حساس را از طریق پاسخ‌های HTTP یا کانال‌های خارج‌سازی سفارشی از سرور خارج کند.

Impact (TA0040)

این ضعف می‌تواند منجر به نقض کامل محرمانگی و اجرای کد از راه دور شود. اگر PUT فعال باشد، نتیجه نهایی برابر با کنترل کامل سرور است؛ در غیر این صورت حداقل افشای گسترده فایل‌های حساس و دور زدن امنیت دایرکتوری اتفاق می‌افتد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-55752
  2. https://www.cvedetails.com/cve/CVE-2025-55752/
  3. https://lists.apache.org/thread/n05kjcwyj1s45ovs8ll1qrrojhfb1tog
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-55752
  5. https://vuldb.com/?id.330157
  6. http://www.openwall.com/lists/oss-security/2025/10/27/4
  7. https://www.vicarius.io/vsociety/posts/cve-2025-55752-detect-apache-tomcat-vulnerability
  8. https://www.vicarius.io/vsociety/posts/cve-2025-55752-mitigate-apache-tomcat-vulnerability
  9. https://github.com/ekomsSavior/TOMCAT
  10. https://nvd.nist.gov/vuln/detail/CVE-2025-55752
  11. https://cwe.mitre.org/data/definitions/23.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید