- شناسه CVE-2024-52046 :CVE
- CWE-94 :CWE
- yes :Advisory
- منتشر شده: 12/25/2024
- به روز شده: 12/28/2024
- امتیاز: 10.0
- نوع حمله: unbounded deserialization
- اثر گذاری: Remote Code Execution Vulnerability
- برند: Apache
- محصول: Apache MINA
- وضعیتPublished :CVE
- No :POC
- وضعیت آسیب پذیری: patch شده
چکیده
CVE-2024-52046 ، یک آسیب پذیری Unbounded Deserialization با شدت بالاست که برروی Apache MINA نسخه های 2.0.26/ 2.1.9/ 2.2.3 و نسخه های قدیمی تر آن اثر می گذارد. این آسیب پذیری کد کامپوننت ObjectSerializationDecoder را تحت تاثیر قرار می دهد. این حمله می تواند از راه دور راه اندازی شود. همچنین توصیه می شود به منظور جلوگیری از این آسیب پذیری کامپوننت آسیب پذیر را ارتقا دهید.
توضیحات
ObjectSerializationDecoder در Apache MINA از پروتکل نیتیو deserialization جاوا برای پردازش داده های ورودی serialize شده استفاده می کند که فاقد پروسه های امنیتی و دفاعی لازم است. آسیب پذیری CVE-2024-52046 زمینه را برای مهاجمان فراهم می کند تا با ارسال داده های serialized دستکاری شده از فرآیند Deserialization سو استفاده کنند. همین امر منجر به حمله اجرای کد از راه دور یا Remote Code Execution (RCE) خواهد شد.
توجه به این مساله حائز اهمیت است که برنامه ای که از MINA core استفاده می کند تنها زمانی در معرض این آسیب پذیری قرار دارد که متد IoBuffer#getObjecy() در آن فراخوانی شود و این متد معمولا زمانی که یک نمونه از ProtocolCodeFilter با استفاده از کلاس ObjectSerializationCodeFactory به زنجیره فیلتر اضافه شود، فراخوانی می شود.
CVSS
Score | Severity | Version | Vector String |
10.0 | CRITICAL | 4.0 | CVSS:4.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
لیست محصولات آسیب پذیر
در زمان انتشار این اعلامیه، نسخه های زیر در معرض این آسیب پذیری قرار دارند:
- Apache MINA 2.1 – 2.1.9
- Apache MINA 2.2 – 2.2.3
- Apache MINA 2.0 – 2.0.26
لیست محصولات بروز شده
اگر برنامه شما از این کلاس ها استفاده می کند، می بایست آن را به آخرین نسخه کتابخانه MINA core ارتقا دهید. این مشکل در نسخه های 2.0.27 ، 2.1.10 و 2.2.4 برطرف شده است.
علاوه بر این، ارتقای کتابخانه به تنهایی کافی نیست. دیکدر به شکل پیش فرض کلیه کلاس های موجود داده های ورودی را رد خواهد کرد. شما باید به شکل مشخص کلاس هایی که دیکدر در نمونه ObjectSerializationDecoder قبول خواهد کرد را با یکی از سه متد زیر مشخص کنید:
- نام کلاس هایی که ClassNameMatcher برای deserialization در لیست خود دارد را قبول کند در غیر این صورت آن کلاس رد خواهد شد.
public void accept(ClassNameMatcher classNameMatcher)
- نام کلاس هایی که با الگوهای تهیه شده برای deserialization منطبق هستند را قبول کند در غیر این صورت آن کلاس رد خواهد شد.
public void accept(Pattern pattern)
- کلاس های با وایلدکارد مشخص برای deserialization را قبول کند و باقی را رد کند.
{@…k org.apache.commons.io.FilenameUtils#wildcardMatch(String, String) FilenameUtils.wildcardMatch} public void accept(String… patterns)
نتیجه گیری
آسیب پذیری فوق در دسته آسیب پذیری های بحرانی (Critical ) دسته بندی می شود. توصیه می شود نسخه آسیب پذیر را با نسخه های بالاتر جایگزین کنید.
منابع
- https://www.cve.org/CVERecord?id=CVE-2024-52046
- https://www.cvedetails.com/cve/CVE-2024-52046/
- https://lists.apache.org/thread/4wxktgjpggdbto15d515wdctohb0qmv8
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2024-52046
- https://vuldb.com/?id.289275
- https://www.openwall.com/lists/oss-security/2024/12/25/1
- https://www.bleepingcomputer.com/news/security/apache-warns-of-critical-flaws-in-mina-hugegraph-traffic-control/
- https://cwe.mitre.org/data/definitions/94.html