در پنجم نوامبر 2018 بنیاد نرمافزاری Apache به کاربران Struts خود اعلام میکند که حتما از نسخهی 1.3.3 کتابخانه Commons FileUpload استفاده کنند زیرا نسخههای قبلی آن دارای آسیبپذیری Remote Code Execution هستند.
این آسیبپذیری به دلیل مشکل deserialization در Objectهای جاوا است که این خود باعث میشود یک عملیات Exploiting موفقیتآمیز باعث نفوذ به سرور قربانی و نوشتن یک فایل یا کپی یک فایل بر روی سرور را برای نفوذگر عملی کند.
بر اساس توضیحات منتشر شده، تا هنگامیکه object به صورت تنها مورد استفاده قرار بگیرد، امکان upload و اجرای کدهای باینری در یک فراخوان deserialization وجود خواهد داشت.
تا هنگامیکه از یک مکانیزم متفاوت در ساختار upload فایل در Struts استفاده نکنید، به صورت پیشفرض از کمپوننت Commons FileUpload استفاده میشود.
نخستین بار هشداری که برای این آسیبپذیری منتشر شد در ماه مارس 2018 بود؛ از آن زمان تاکنون دو نسخه جدید Struts 2.3.x منتشر شده است.
در نسخه منتشر شده 2.3.3 که در تاریخ 15 اکتبر منتشر شد همچنان آسیبپذیری موجود است زیرا نسخه 1.3.3 از کتابخانه Common FileUpload که آسیبپذیری در آن رفع شده در نسخه Apache Struts 2.5.12 موجود است.
همچنین آسیبپذیری که مربوط به دو سال پیش با شماره شناسایی CVE-2016-1000031 منتشر شده بود درباره همین کتابخانه بوده که امکان حمله DoS را برای نفوذگر ممکن میکرده است.
برای جلوگیری از خطر این آسیبپذیری، کاربر میتواند به صورت دستی کتابخانه معیوب را جایگزین کند.
برای این کار میتوان نسخه قدیمی WEB-INF/lib را توسط فایل بروزرسانی شده JAR آن جایگزین کرد.
راه دیگر رفع این آسیب پذیری آن است که Apache Struts خود را به نسخه 2.5.12 ارتقا دهید.
با آرسس پارت همراه باشید …
منبع: تسنیم