- شناسه CVE-2025-24813 :CVE
- CWE-44, CWE-502 :CWE
- yes :Advisory
- منتشر شده: مارس 10, 2025
- به روز شده: آگوست 8, 2025
- امتیاز: 9.8
- نوع حمله: Unknown
- اثر گذاری: Remote code execution(RCE)
- حوزه: وبسرورها
- برند: Apache Software Foundation
- محصول: Apache Tomcat
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری بحرانی در Apache Tomcat به دلیل معادلسازی مسیر (Path Equivalence — ‘file.Name’) در پیادهسازی partial PUT است که در صورت فعال بودن مجوز نوشتن (writes) برای Default Servlet و پیکربندیهای خاص میتواند منجر به افشای اطلاعات، تغییر یا تزریق محتوای فایلها (Content Injection) و در برخی پیکربندیها اجرای کد از راه دور (RCE) شود.
توضیحات
آسیبپذیری CVE-2025-24813 در Apache Tomcat، وب سرور و کانتینر servlet جاوا، ناشی از معادلسازی مسیر (Path Equivalence مثلاً ‘file.Name’ با Dot داخلی ) در پیادهسازی partial PUT (یک الگوی آپلود به صورت بخش بخش) بوده و مطابق با استانداردهای CWE‑44 و CWE‑502 طبقهبندی میشود. این ضعف در نسخههای مشخصی از Tomcat از جمله سریهای 11.0.0-M1 تا 11.0.2 ، 10.1.0-M1 تا 10.1.34 و 9.0.0.M1 تا 9.0.98 و همچنین برخی نسخه های EOL در شاخه .X8.5 مانند 8.5.0 تا 8.5.100 وجود دارد و در صورت برقرار بودن ترکیبی از پیکربندیها و شرایط خاص میتواند پیامدهای متعددی داشته باشد.
در سطح پیششرطها، بهرهبرداری موفق نیازمند فعال بودن قابلیت نوشتن (writes) در Default Servlet (که بهصورت پیشفرض غیرفعال است) و پشتیبانی از partial PUT (که پیشفرض فعال است) می باشد. برای افشای اطلاعات (Information Disclosure)، تزریق یا تغییر محتوا (Content Injection) لازم است URL مربوط به آپلود فایلهای حساس زیرشاخه URL آپلود عمومی باشد، مهاجم نام فایل حساس را بداند و آن فایل هم از طریق partial PUT آپلود شود. برای رسیدن به اجرای کد از راه دور (RCE) علاوه بر شرایط فوق، باید برنامه از ذخیره سازی نشست مبتنی بر فایل (file‑based session persistence) با محل ذخیرهسازی پیشفرض استفاده کند و در برنامه کتابخانهای موجود بوده که در حملات سریالزدایی (deserialization) قابل سوءاستفاده باشد. بهعبارت دیگر، این آسیبپذیری «شرطی» است و برای وقوع کامل آن مجموعهای از عوامل باید همزمان برقرار باشد.
پیامدها در صورت تحقق شرایط میتواند بسیار شدید باشد. افشای فایلهای حساس و دادهها، تغییر یا تزریق محتوای فایلها و در مواردی اجرای کد دلخواه روی سرور (RCE) که در بلندمدت میتواند منجر به اختلال سرویسها یا کنترل کامل سرور شود.
در بخش شواهد، PoCها و اسکریپتهای تشخیصی یا اسکنر و نمونههای uploader/exploit عمومی منتشر شدهاند؛ بنابراین فرض وجودِ ابزارهای شناسایی و سوءاستفاده عمومی باید در برنامه پاسخگویی لحاظ شود. Apache این آسیب پذیری را در نسخه 11.0.3، 10.1.35 و 9.0.99 پچ کرده است.
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.2
affected from 10.1.0-M1 through 10.1.34 affected from 9.0.0.M1 through 9.0.98 affected from 8.5.0 through 8.5.100 Unknown unknown from 3 before 8.5.0 |
Apache Tomcat |
لیست محصولات بروز شده
Versions | Product |
– Upgrade to Apache Tomcat 11.0.3 or later
– Upgrade to Apache Tomcat 10.1.35 or later – Upgrade to Apache Tomcat 9.0.99 or later |
Apache Tomcat |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که Apache Tomcat را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
Approx. Usage in .ir Domain via Google
(Total Pages) |
Search Query (Dork) | Product |
12,100 | site:.ir “Apache Tomcat” | Apache Tomcat |
نتیجه گیری
این آسیبپذیری با شدت بحرانی در Apache Tomcat یک ریسک جدی و شرطی است که اگر مجموعه ای از پیکربندی ها هم زمان برقرار شود می تواند منجر به افشای اطلاعات، تغییر فایل های حساس و اجرای کد دلخواه شود. بنابراین برای جلوگیری از آسیب پذیری اجرای فوری اقدامات زیر ضروری است:
- بهروزرسانی Tomcat: بلافاصله به 11.0.3، 10.1.35 یا 9.0.99 به روزرسانی کنید.
- غیرفعال کردن writes: در Default Servlet قابلیتِ نوشتن (writes) را غیرفعال کنید.
- غیرفعالسازی partial PUT: در xml مقادیر allowLinking=”false” و allowPartiallyPut=”false” را تنظیم کنید (disable partial PUT).
- محدودسازی persistence: از استفاده از ذخیره سازی نشست مبتنیبر فایل (file‑based session persistence) با محلِ پیشفرض خودداری کنید یا محل ذخیره را ایزوله کنید (isolate persistence).
- نظارت بر ترافیک: لاگهای Tomcat را برای درخواستهای PUT مشکوک بررسی کنید و از فایروال اپلیکیشن وب (WAF) برای فیلترکردن الگوهای مشکوک استفاده نمایید.
- اسکن امنیتی: سامانهها را با ابزارهای امنیتی بهروز مانند Nessus یا Nuclei اسکن کنید.
- آموزش: تیمهای فنی و مدیران را درباره ریسکِ معادلسازی مسیر (Path Equivalence) و پیامدهای آن آگاه کنید.
اجرای این تدابیر ریسکِ اجرای کد از راه دور (RCE) را کاهش میدهد و سطح امنیت سرورهای Tomcat را بهطور محسوسی تقویت میکند.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
آسیبپذیری قابل بهرهبرداری از خدمات عمومیِ Tomcat است؛ مهاجم با ارسال درخواستهای HTTP/PUT بخشبهبخش (partial PUT) که از معادلسازی مسیر بهره میبرند، میتواند برونداد آپلود را بهنفع خود تغییر دهد و مسیرهای حساس را هدف قرار دهد
Execution (TA0002)
در صورت تحقق شروط، حمله منجر به اجرای کد روی سرور میشود؛ این اجرا میتواند ناشی از تزریق محتوا (content injection) یا بارگذاری payload سریالزداییشده مخرب در مکانهایی باشد که سرور آنها را deserialize میکند
Persistence (TA0003)
اگر فایل مخرب در مسیر دائمی وبسرور یا در مکانِ persistence نشستهای مبتنیبر فایل قرار گیرد، حضور مهاجم قابل حفظ است. به عبارت دیگر، فایل/کد بارگذاریشده ممکن است بین جلسات و ریاستارتها زنده بماند و دسترسی دائمی به سرور فراهم کند.
Privilege Escalation (TA0004)
در صورت اجرای کد و وجود misconfigurations محلی مثل اجرای Tomcat با دسترسیهای بالا یا دسترسی به فایلهای حساس سیستم، مهاجم میتواند امتیازات را افزایش دهد یا از طریق فایلهای وکتور محلی به سطحهای بالاتر حتی root/Administrator دست یابد؛ این مسیر اغلب با بهرهبرداری از فایلهای محلی، سوئیچ مالکیت یا اجرای باینریهای SUID/Service همراه است.
Defense Evasion (TA0005)
مهاجم با استفاده از معادلسازی نام فایل (path equivalence) و نامگذاری شبیه به فایلهای مشروع و همچنین نوشتن بخشبهبخش ممکن است تشخیص مبتنی بر signatures و نام فایل را دور بزند؛ جایگذاری در مسیرهایی که لاگبرداری ضعیف یا اعتبارسنجی ناکافی دارند، جستوجو و واکنش را مشکلتر میکند.
Lateral Movement (TA0008)
پس از بهدستآوردن اجرای کد، مهاجم ممکن است با سرقت مدارک دسترسی یا استفاده از اتصالات شبکهای موجود به سرویسهای دیگر (پایگاهداده، سامانههای مدیریت، سرویسهای داخلی) حرکت کند و دامنه دسترسی را گسترش دهد.
Collection (TA0009) & Exfiltration (TA0010)
در حالت افشای اطلاعات، مهاجم میتواند فایلهای حساس را بخواند. مثلاً فایلهای پیکربندی، credentialها، لاگها و آنها را از طریق کانالهای HTTP/S یا کانالهای جانبی به خارج منتقل کند
Impact (TA0040)
پیامد نهایی شامل نقض محرمانگی، یکپارچگی و در دسترسپذیری میشود: تغییر یا تزریق محتوا، اجرای کد دلخواه، اختلال سرویسها یا تسلط کامل بر سرور که میتواند به حملات وسیعتر سازمانی منتهی شود.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-24813
- https://www.cvedetails.com/cve/CVE-2025-24813/
- https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-24813
- https://vuldb.com/?id.299092
- http://www.openwall.com/lists/oss-security/2025/03/10/5
- https://www.vicarius.io/vsociety/posts/cve-2025-24813-detect-apache-tomcat-rce
- https://www.vicarius.io/vsociety/posts/cve-2025-24813-mitigate-apache-tomcat-rce
- https://security.netapp.com/advisory/ntap-20250321-0001/
- https://lists.debian.org/debian-lts-announce/2025/04/msg00003.html
- https://www.vicarius.io/vsociety/posts/cve-2025-24813-tomcat-detect-vulnerability
- https://www.vicarius.io/vsociety/posts/cve-2025-24813-tomcat-mitigation-vulnerability
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-24813
- https://github.com/La3B0z/CVE-2025-24813-POC
- https://nvd.nist.gov/vuln/detail/CVE-2025-24813
- https://cwe.mitre.org/data/definitions/44.html
- https://cwe.mitre.org/data/definitions/502.html
اثبات آسیبپذیری (CVE-2025-24813)
اطلاعات آسیبپذیری
ابزار آسیب پذیر: Apache Tomcat
شناسه آسیب پذیری: CVE-2025-24813
ابزارشدت آسیبپذیری: بحرانی (CVSS 8.8)
سیستمهای آسیبدیده:
- Apache Tomcat نسخههای 9.0.0 تا 9.0.97
- Apache Tomcat نسخههای 10.1.0 تا 10.1.34
- Apache Tomcat نسخههای 11.0.0 تا 11.0.2
رفع شده در نسخههای:
- 9.0.98 یا بالاتر
- 10.1.35 یا بالاتر
- 11.0.3 یا بالاتر
مشکل
این آسیبپذیری به دلیل پیکربندی نادرست در Apache Tomcat رخ میدهد که به مهاجم اجازه میدهد فایلها را با استفاده از نحوه اشتباه پیکربندی وبسرور آپلود کند و از آنها به منظور دسریالایز کردن اشیاء جاوا مخرب استفاده کند. این آسیبپذیری میتواند منجر به اجرای کد از راه دور (RCE) شود، که به مهاجم امکان میدهد کنترل کامل سرور را به دست بگیرد.
پیشنیازها
- مهاجم نیاز به احراز هویت دارد.
- دسترسی شبکه به سرور Apache Tomcat نیاز است.
- مهاجم باید قادر به ارسال درخواستهای HTTP PUT حاوی دادههای دستکاریشده باشد.
اثبات مفهوم (PoC)
- پیکربندیهای اولیه انجام شده در xml برای اجازه دادن به ارسال درخواستهای PUT به صورت غیرایمن.
- یک payload با استفاده از ابزارهای سواستفاده از اشیاء جاوا مانند jar ساخته میشود.
- پیکربندی فایلهای وب برای ذخیره نشست ها بهصورت دائمی و آمادهسازی برای بارگذاری و اجرای کدهای مخرب.
- درخواستهای HTTP PUT به سرور ارسال میشود تا فایلهایی که حاوی اشیاء سواستفادهگر هستند، بارگذاری شوند.
- در صورت موفقیت، مهاجم میتواند دستورات دلخواه را روی سرور اجرا کند و از آن برای نفوذ کامل استفاده کند.
توضیحات فنی
اجرای PoC برای این آسیبپذیری به این صورت است که ابتدا یک شیء مخرب با استفاده از ابزار ysoserial ساخته میشود. سپس این شیء بهصورت payload.bin ایجاد و از طریق متد PUT به سرور آسیبپذیر ارسال میشود. فایل بارگذاریشده به نام vulnerbyte.session در دایرکتوری webapps/ROOT ذخیره میشود. پس از بارگذاری، سرور باید دوباره راهاندازی شود تا فرایند دسریالایز کردن شیء مخرب انجام شود. این عمل با اجرای دستوراتی مانند shutdown.sh و startup.sh انجام میشود. در مرحله بعد، با ارسال یک درخواست GET به سرور همراه با JSESSIONID جعلی مهاجم میتواند پیامی را از سرور دریافت کرده و تأیید کند که حمله موفقیتآمیز بوده و شیء مخرب با موفقیت دسریالایز شده است. این حمله از آسیبپذیری دسریالایز کردن ناامن برای اجرای کد دلخواه استفاده میکند.
نتیجه مورد انتظار
- تنظیمات وبسرور باید بهدرستی پیکربندی شوند تا از آپلود و اجرای فایلهای مخرب جلوگیری شود.
- دسریالایز کردن اشیاء باید با بررسی کامل ورودیها و محدود کردن پارامترهای خطرناک انجام گیرد.
- دسترسی به فایلها و دستورات سیستم باید محدود و امن باشد.
رفع مشکل
- ابزار را به نسخههای 90.98, 10.1.35 , یا 11.0.3 یا بالاتر بهروزرسانی کنید.
- اگر بهروزرسانی فوری ممکن نیست:
- دسترسی به نقاط آسیبپذیر را غیرفعال یا محدود کنید.
- از WAF/IDS برای جلوگیری از درخواستهای مخرب استفاده کنید.
پاسخ به حادثه
- در صورت بهرهبرداری از آسیبپذیری:
- ایزوله کردن سرور Apache Tomcat
- جمعآوری لاگها و بررسی فایلهای آپلودشده برای یافتن payload های مخرب.
- پچ کردن و یا بازسازی سیستم از نسخههای پشتیبان امن.
زنجیره حمله
در شکل 1 زنجیره حمله نمونه برای سوءاستفاده از این آسیب پذیری آورده شده است.

شکل 1: زنجیره حمله
نتیجه اجرای POC در محیط آزمایشگاه
این آسیب پذیری در آزمایشگاه Vulnerbyte مورد بررسی قرار گرفت و نتیجه نشان دهنده اجرای موفق حمله است. مواردی که نشاندهنده موفقیت حمله هستند:
- دریافت پاسخ 200 از سرور:
سرور با وضعیت 200 پاسخ داده است که نشان میدهد درخواست به درستی پردازش شده است. - “Deserialized” در خروجی ترمینال:
این نشان میدهد که شیء آپلود شده به درستی دسریالایز شده و در سرور پردازش شده است. - استفاده از docker exec برای اجرای دستورات:
فرمان docker exec نشاندهنده این است که پس از بارگذاری شیء مخرب، امکان اجرای دستوراتی مانند cat /tmp/pwn.txt در سیستم هدف فراهم شده است، که اثباتی برای اجرای کد دلخواه روی سرور آسیبپذیر است.

شکل 2: اجرای موفقیت آمیز حمله
منابع
- https://nvd.nist.gov/vuln/detail/CVE-2025-24813
- https://www.apache.org/security/
- https://fortiguard.fortinet.com/psirt/FG-IR-25-151
CVE-2025-24813 – Apache Tomcat Insecure Configuration Leading to Remote Code Execution
CVE ID: CVE-2025-24813
Severity: High (CVSS 8.8)
Affected Systems:
- Apache Tomcat versions 9.0.0 through 9.0.97
- Apache Tomcat versions 10.1.0 through 10.1.34
- Apache Tomcat versions 11.0.0 through 11.0.2
Patched In:
- 9.0.98 or later
- 10.1.35 or later
- 11.0.3 or later
References:
Description
A misconfiguration vulnerability exists in Apache Tomcat where the readonly
setting in web.xml
is incorrectly configured, allowing an attacker to upload arbitrary files and exploit an insecure deserialization vulnerability via serialized objects. This issue can result in Remote Code Execution (RCE), allowing an attacker to execute arbitrary code on the server, gaining full control.
Prerequisites
- Authentication required for exploitation.
- Internet/network access to the target Tomcat instance.
- Exploitation relies on the attacker sending crafted HTTP PUT requests to the Tomcat server with modified payloads.
Proof of Concept (PoC)
- Configuration changes are made in
web.xml
to allow unsafePUT
requests. - A payload is created using a Java deserialization exploit tool (e.g.,
ysoserial.jar
). - The crafted payload is uploaded to the Tomcat server via a vulnerable endpoint (
/goform/exeCommand
). - If the server processes the payload, it can trigger arbitrary code execution leading to a full system compromise.
Expected Result
- The readonly attribute in
web.xml
should be set totrue
to prevent write access. - Parameterization of inputs, especially for serialized data, is essential to prevent deserialization vulnerabilities.
- Sensitive directories, such as
webapps/ROOT
, should be restricted for unauthorized file uploads.
Mitigation
- Patch: Update to Tomcat 9.0.98, 10.1.35, or 11.0.3 or later.
- If patching is delayed:
- Restrict access to vulnerable endpoints and disable
PUT
methods inweb.xml
. - Disable file upload features entirely if not necessary.
- Deploy a Web Application Firewall (WAF) to block malicious requests.
- Restrict access to vulnerable endpoints and disable
Post-Incident Response
- If exploitation is suspected:
- Isolate the Tomcat server.
- Collect logs and analyze file uploads for malicious payloads.
- Patch to the fixed version or rebuild/restore from a secure backup.
- Ensure all Java libraries are properly sanitized and that no insecure deserialization objects remain.
Disclaimer
This information is provided for educational and defensive security purposes only.
Do not exploit this vulnerability on systems without explicit authorization.
The author assumes no responsibility for misuse or damage resulting from the use of this information.