- شناسه CVE-2025-31651 :CVE
- CWE-116 :CWE
- yes :Advisory
- منتشر شده: آوریل 28, 2025
- به روز شده: اکتبر 29, 2025
- امتیاز: 9.8
- نوع حمله: Input injection
- اثر گذاری: Bypass
- حوزه: سرورهای اپلیکیشن
- برند: Apache Software Foundation
- محصول: Apache Tomcat
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری بحرانی دورزدن قواعد در کامپوننت Rewrite Valve آپاچی تامکت (Apache Tomcat) ناشی از خنثیسازی نادرست توالی های فرار، متا یا کنترلی است که به واسطه ی درخواستهای خاص می تواند برخی قواعد بازنویسی را دور بزند. این ضعف در نسخههای 11.0.0-M1 تا 11.0.5، 10.1.0-M1 تا 10.1.39، 9.0.0.M1 تا 9.0.102 و برخی نسخه های EOL سری 8.5.0 تا 8.5.100 وجود دارد و امکان دورزدن محدودیتهای امنیتی، اجرای اسکریپتهای غیرقابل دسترس یا افشای اطلاعات حساس را فراهم می کند.
توضیحات
آسیبپذیری CVE-2025-31651 در کامپوننت Rewrite Valve آپاچی تامکت، ناشی از خنثیسازی نادرست توالی های فرار، متا یا کنترلی مطابق با CWE-116 است. این ضعف اجازه میدهد تا در پیکربندی های خاصی از قواعد بازنویسی (Rewrite Rules)، درخواستهای دستکاریشده برخی قواعد را دور بزنند، بهویژه اگر این قواعد برای اعمال محدودیتهای امنیتی استفاده شوند.
در نتیجه، مهاجم میتواند محدودیتها را دور زده و به فایلها یا اسکریپتهایی دسترسی یابد که بهطور مستقیم از طریق URL قابل دسترس نیستند. برای مثال، در سامانه هایی که از RewriteRule برای محافظت از دایرکتوریها یا فایلهای خاص استفاده میکنند، مهاجم با افزودن توالی های خاص مانند %3F (معادل علامت سؤال “?”) به انتهای URL، میتواند قواعد را دور بزند و به محتوای حساس دسترسی یابد.
این حمله معمولاً از طریق پروتکل HTTP (پروتکل انتقال ابرمتن که برای ارتباطات وب استفاده میشود) انجام میشود؛ یعنی مهاجم درخواستهای مخرب را به سرور تامکت ارسال میکند. در این شرایط، کامپوننت Rewrite Valve که بخشی از ماژول mod_rewrite-inspired در تامکت است، در معرض ریسک قرار دارد.
بهرهبرداری از این ضعف بهسادگی قابل خودکارسازی است؛ مهاجم میتواند با اسکریپتها یا ابزارهای خودکار، از راه دور و بدون تعامل کاربر، درخواستهایی مانند http://example.com/orders/housekeeper.jsp ارسال کند و قواعد بازنویسی را دور بزند تا اسکریپت JSP (JavaServer Pages، فناوری برای ایجاد صفحات وب پویا) را اجرا کند یا فایلهای حساس مانند secret.yml را افشا نماید، در حالی که دسترسی مستقیم به آنها مسدود است.
کد اثبات مفهومی (PoC) عمومی برای این آسیبپذیری منتشر شده است که در آن یک اپلیکیشن نمونه با RewriteRuleهایی مانند ^/order-files/(.*)$ /403.jsp [L] و ^/orders/(.*)$ /order-files/$1/detail.xml [L] شبیهسازی میشود و نشان میدهد چگونه درخواستهای دستکاریشده با %3F قواعد را دور میزنند و به فایلهای غیرقابل دسترس مانند housekeeper.jsp یا secret.yml دسترسی پیدا می کنند.
پیامدهای آسیبپذیری شامل تأثیر بالا بر محرمانگی با افشای اطلاعات حساس، یکپارچگی با تغییر عملکرد اپلیکیشن و در دسترسپذیری با اختلال احتمالی است. این ضعف تنها در تنظیمات خاص قواعد بازنویسی فعال میشود، مانند زمانی که سرور تامکت مستقیماً به اینترنت متصل باشد و با انتشار نسخههای 11.0.6، 10.1.40 و 9.0.104 بهطور کامل پچ شده است.
CVSS
| Score | Severity | Version | Vector String |
| 9.8 | CRITICAL | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
لیست محصولات آسیب پذیر
| Versions | Product |
| affected from 11.0.0-M1 through 11.0.5
affected from 10.1.0-M1 through 10.1.39 affected from 9.0.0.M1 through 9.0.102 affected from 8.5.0 through 8.5.100 unknown from 8.0.0.RC1 before 8.5.0 unknown from 10.0.0-M1 through 10.0.27 |
Apache Tomcat |
لیست محصولات بروز شده
| Versions | Product |
| Upgrading to version 9.0.104, 10.1.40 or 11.0.6 eliminates this vulnerability. | Apache Tomcat |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که Apache Tomcat را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
| Approx. Usage in .ir Domain via Google
(Total Pages) |
Search Query (Dork) | Product |
| 9,930 | site:.ir “Apache Tomcat” | Apache Tomcat |
نتیجه گیری
این آسیبپذیری با شدت بحرانی در آپاچی تامکت، ریسک دورزدن قواعد بازنویسی و محدودیتهای امنیتی را افزایش میدهد و در سناریوهایی که سرور مستقیماً به اینترنت متصل است امکان افشای اطلاعات حساس یا اجرای کد دلخواه را فراهم می کند. با توجه به انتشار پچهای امنیتی، اجرای اقدامات زیر برای جلوگیری از بهرهبرداری و کاهش سطح ریسک ضروری است:
- بهروزرسانی فوری: تمام اپلیکیشنهای و سرویس های مبتنی بر تامکت را به نسخههای 11.0.6، 10.1.40 یا 9.0.104 (بر اساس شاخه مورد استفاده) بهروزرسانی کنید. این پچها در وبسایت رسمی آپاچی تامکت در دسترس هستند.
- بررسی قواعد بازنویسی: قواعد RewriteRule را بازبینی کنید و آنها را طوری اصلاح کنید که در برابر توالیهای کدشده (Encoded Sequences) مانند %3Fمقاوم باشند؛ حساسیت قواعد را نسبت به این توالیها افزایش دهید تا از دورزدن قواعد بازنویسی جلوگیری شود.
- تقویت خنثیسازی ورودی: از فیلترهای ورودی برای خنثیسازی توالی های متا و فرار در درخواستهای HTTP استفاده کنید و Rewrite Valve را بهگونهای پیکربندی کنید که تمام ورودیها را بهطور ایمن پردازش کند.
- نظارت و ثبت لاگ: از ابزارهایی مانند Apache Log4j یا Tomcat Access Logs برای مانیتورینگ درخواستهای ورودی استفاده کنید و لاگها را با سطح جزئیات بالا بررسی نمایید تا درخواستهای مشکوک با توالی های خاص شناسایی شوند.
- ایزولهسازی سرور: اپلیکیشنهای تامکت را در محیطهای ایزوله مانند Docker یا Kubernetes اجرا کنید و دسترسی HTTP را با فایروال اپلیکیشن وب (WAF) مانند ModSecurity محدود سازید.
- تست امنیتی: اپلیکیشنها را با ابزارهای تحلیل امنیتی مانند OWASP ZAP یا Burp Suite اسکن کنید تا سناریوهای دورزدن قواعد بازنویسی شناسایی شود. همچنین از روش Fuzzing (تست تصادفی ورودی) برای ارزیابی قواعد بهره ببرید.
- آموزش توسعهدهندگان: تیمهای توسعه را درباره ریسک های ناشی از پیکربندی نادرست RewriteRule و ضرورت خنثیسازی صحیح ورودی ها در تامکت آموزش دهید.
اجرای این اقدامات، بهویژه بهروزرسانی سریع نسخهها و پیادهسازی فیلترینگ دقیق ورودیها، ریسک بهرهبرداری از این آسیبپذیری را بهطور چشمگیری کاهش داده و امنیت سرورهای آپاچی تامکت را بهصورت قابلتوجهی افزایش میدهد.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
مهاجم با ارسال درخواستهای HTTP crafted حاوی توالیهای کدشده (مثلاً %3F یا توالیهای فرار/متا) به ورودیهای عمومی Tomcat و مخصوصاً به مسیرهایی که توسط Rewrite Valve پردازش میشوند، بهسادگی میتواند شرایط تطبیق قواعد بازنویسی را دور بزند
Persistence (TA0003)
پس از دسترسی موفق به مسیرهای محافظتشده، مهاجم میتواند فایلهای پیکربندی، webapps یا فایلهایی با قابلیت نوشتن روی دیسک را هدف قرار داده و مکانیزمهایی برای پایداری defaced pages، backdoor JSP، یا تغییرات در web.xml قرار دهد که در ادامه دسترسی بلندمدت و بازگشت را ممکن میسازد.
Privilege Escalation (TA0004)
دسترسی به فایلهای محرمانه (مثلاً secret.yml یا فایلهای پیکربندی که credential ها/توکنها را نگه میدارند) میتواند منجر به افزایش سطح دسترسی شود؛ بهخصوص اگر این فایلها شامل حسابهای سرویس، کلیدها یا پارامترهای اتصال به دیتابیس باشند که مهاجم را قادر میسازند حرکت جانبی یا اجرای عملیات با امتیازات بالاتر را انجام دهد.
Defense Evasion (TA0005)
استفاده از توالیهای کدشده و تغییر شکل URL ها به مهاجم اجازه میدهد تا از قواعد لاگ/فیلترینگ ساده عبور کند و شناسایی مبتنی بر الگوهای ساده را دور بزند
Credential Access (TA0006)
با دورزدن قواعد محافظتی، مهاجم امکان خواندن فایلهای پیکربندی و کشهای محلی را پیدا میکند — منبعی که احتمالاً حاوی credentialهای سرویس، API keys یا رشتههای اتصال است؛ استخراج این دادهها، توکنها یا هشها میتواند پایهای برای حملات بعدی و دسترسیهای عمیقتر فراهم آورد.
Discovery (TA0007)
بعد از دسترسی اولیه، مهاجم مسیرهای محافظتشده، الگوی RewriteRules، موجودیتهای JSP/servlet و ساختار دایرکتوری را شناسایی میکند تا نقاط حساس و endpointهای بالقوه برای افشاء یا تزریق را پیدا کند؛ این مرحله شامل فاز تست توالیهای encoded و fuzzing روی قواعد بازنویسی است.
Lateral Movement (TA0008)
با استفاده از credential های بهدستآمده یا سرویساکانتهای کشفشده، مهاجم میتواند به سرویسهای مرتبط (دیتابیس، کش، سرویسهای داخلی پشت شبکه) حرکت کند؛ این حرکت معمولاً از طریق reuse توکنها، SSH/SMB/DB connections یا exploitation ضعفهای داخلی انجام میشود.
Collection (TA0009)
فایلهای حساس، لاگها، configها و پاسخهای endpointهای محافظتشده هدف جمعآوری قرار میگیرند؛ مهاجم مجموعهای از دادههای محرمانه را محلی یا موقتاً روی سرور هدف ذخیره میکند تا برای مرحله خروج دادهها آماده شود.
Exfiltration (TA0010)
دادههای حساس استخراجشده از طریق کانالهای مخفی یا کانالهای استاندارد HTTP(S)/DNS/FTP به بیرون ارسال میشوند
Impact (TA0040)
پیامد فنی شامل افشای محرمانگی (فایلهای پیکربندی، کلیدها)، تغییر یکپارچگی اپلیکیشن (اجرای یا تغییر JSPها)، دستکاری مسیردهی و در مواردی اختلال در دسترسپذیری سرویس است؛ دامنه اثر وابسته به کانفیگ Rewrite، مجوزهای فایل و وجود آسیبپذیریهای ثانویه است و در سناریوی بد، میتواند منجر به نفوذ تام-دامنه شود.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-31651
- https://www.cvedetails.com/cve/CVE-2025-31651/
- http://www.openwall.com/lists/oss-security/2025/04/28/3
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-31651
- https://vuldb.com/?id.306429
- https://github.com/gregk4sec/CVE-2025-31651
- https://github.com/gregk4sec/CVE-2025-31651/blob/main/CVE-2025-31651.md
- https://nvd.nist.gov/vuln/detail/cve-2025-31651
- https://cwe.mitre.org/data/definitions/116.html