Tomcatبنیاد نرم‌افزار آپاچی (ASF) به‌روزرسانی امنیتی را برای رفع آسیب‌پذیری مهم در نرم‌افزار سرور Tomcat خود منتشر کرده است که می‌تواند در شرایط خاص منجر به اجرای کد از راه دور (RCE) شود.

این آسیب‌پذیری که به‌عنوان CVE-2024-56337 ردیابی می‌شود، به‌عنوان یک راه‌حل جلوگیری ناقص برای CVE-2024-50379 (امتیاز ۹٫۸ در مقیاس CVSS)، یکی دیگر از نقص‌های امنیتی حیاتی در همان محصول که قبلاً در ۱۷ دسامبر ۲۰۲۴ بررسی شده بود، توصیف شده است.

نگهبانان این پروژه در گزارشی در هفته گذشته گفتند: «کاربرانی که Tomcat را روی یک سیستم فایل بدون حساس به حروف بزرگ و کوچک اجرا می‌کنند با نوشتن servlet پیش‌فرض فعال (پارامتر راه‌اندازی اولیه فقط خواندن روی مقدار غیر پیش‌فرض false تنظیم شده است) ممکن است برای جلوگیری کامل CVE-2024-50379 بسته به اینکه از کدام نسخه جاوا با تامکت استفاده می‌کنند، به پیکربندی اضافی نیاز داشته باشند.”

هردوی این نقص‌ها در حقیقت آسیب‌پذیری‌های race condition و از نوع Time-of-check Time-of-use یا TOCTOU هستند[۱] که می‌تواند منجر به اجرای کد در سیستم‌های فایل حساس به حروف کوچک و بزرگ شود، زمانی که servlet پیش‌فرض برای نوشتن فعال باشد.

آپاچی در هشداری برای CVE-2024-50379 خاطرنشان کرد: «خواندن و آپلود هم‌زمان تحت بارگیری یک فایل می‌تواند بررسی‌های حساسیت حروف کوچک تامکت را دور بزند و باعث شود که فایل آپلود شده به‌عنوان یک JSP در نظر گرفته شود که منجر به اجرای کد از راه دور می‌شود».

CVE-2024-56337 بر نسخه‌های زیر از تامکت آپاچی تأثیر می‌گذارد:

  • آپاچی تامکت ۱۱٫۰٫۰-M1 تا ۱۱٫۰٫۱ (در نسخه ۱۱٫۰٫۲ یا جدیدتر رفع شده است)
  • Apache Tomcat 10.1.0-M1 تا ۱۰٫۱٫۳۳ (در نسخه ۱۰٫۱٫۳۴ یا جدیدتر رفع شده است)
  • آپاچی تامکت ۹٫۰٫۰٫M1 تا ۹٫۰٫۹۷ (در نسخه ۹٫۰٫۹۸ یا بالاتر رفع شده است)

علاوه بر این، کاربران باید بسته به نسخه جاوای در حال اجرا، تغییرات پیکربندی زیر را انجام دهند:

  • جاوا ۸ یا جاوا ۱۱ – مشخصاً ویژگی سیستم io.useCanonCaches را روی false تنظیم کنید (به‌طور پیش‌فرض روی true است)
  • جاوا ۱۷ – ویژگی سیستم را io.useCanonCaches را روی false تنظیم کنید، اگر قبلاً تنظیم شده باشد (به‌طور پیش‌فرض روی false است)
  • جاوا ۲۱ و جدیدتر – هیچ اقدامی لازم نیست، زیرا ویژگی سیستم حذف شده است.

ASF به محققان امنیتی Nacl، WHOAMI، Yemoli و Ruozhi برای شناسایی و گزارش هر دو نقص اعتبار داد. همچنین تیم KnownSec 404 را برای گزارش مستقل CVE-2024-56337 با کد اثبات ادعا (PoC) تأیید کرد.

این افشاگری زمانی صورت می‌گیرد که Zero Day Initiative (ZDI) جزئیات یک باگ مهم در وب‌مین (CVE-2024-12828، امتیاز ۹٫۹ در CVSS) را به اشتراک گذاشته است که به مهاجمان از راه دور تأییدشده اجازه می‌دهد کد دلخواه را اجرا کنند.

ZDI گفت[۲]: “این نقص خاص در رسیدگی به درخواست‌های CGI وجود دارد. مشکل از عدم اعتبارسنجی مناسب رشته ارائه‌شده توسط کاربر قبل از استفاده از آن برای اجرای فراخوانی سیستم ناشی می‌شود. یک مهاجم می‌تواند از این آسیب‌پذیری برای اجرای کد در زمینه root استفاده کند.”

  منابع

[۱] https://cwe.mitre.org/data/definitions/367.html

[۲] https://www.zerodayinitiative.com/advisories/ZDI-24-1725

[۳] https://thehackernews.com/2024/12/apache-tomcat-vulnerability-cve-2024.html