خانه » CVE-2025-59489

CVE-2025-59489

Arbitrary Code Execution in Unity Runtime

توسط Vulnerbyte Alerts
10 بازدید
هشدار سایبری CVE-2025-59489

چکیده

آسیب‌پذیری در Unity Runtime (نسخه‌های پیش از 2025-10-02) روی پلتفرم‌های ویندوز، مک، اندروید و لینوکس شناسایی شده است. مهاجم می‌تواند با تزریق آرگومان (Argument Injection) یا بهره‌برداری از مسیر جست‌وجوی ناامن (Untrusted Search Path)، کتابخانه‌ای را از مکان غیرمنتظره بارگذاری کرده و در نتیجه اجرای کد دلخواه (ACE) و افشای اطلاعات حساس را در سطح دسترسی اپلیکیشن به دست آورد. این تهدید به‌طور خاص اپلیکیشن هایی را تحت‌ تأثیر قرار می‌دهد که با نسخه‌های آسیب‌پذیر Unity Editor ایجاد شده‌اند و برای رفع کامل نیاز به بازسازی و استقرار مجدد (rebuild & redeploy) یا اعمال binary patch بر روی اپلیکیشن های منتشرشده دارند.

توضیحات

آسیب‌پذیری CVE-2025-59489 ناشی از عدم خنثی‌سازی مناسب جداکننده‌های آرگومان در دستورات است که مطابق با CWE-88 طبقه‌بندی می‌شود. علاوه براین، طبق گزارش CISA-ADP، این آسیب‌پذیری با CWE-426 (Untrusted Search Path یا مسیر جستوجوی ناامن) نیز مرتبط است، به این معنا که در شرایط خاص امکان بارگذاری کتابخانه از مسیر غیرقابل اعتماد (مانند استفاده از تابع dlopen با مسیر کنترل‌شده توسط مهاجم) فراهم می گردد.

این ضعف در Unity Runtime (موتور اجرایی Unity) وجود دارد و به مهاجم اجازه می‌دهد با کنترل آرگومان‌های خط فرمان، مانند xrsdk-pre-init-library، مسیر دلخواهی را به تابع dlopen (تابعی برای بارگذاری کتابخانه‌های پویا در سیستم‌عامل‌های شبیه به یونیکس) ارسال کند و یک کتابخانه native مخرب را از مکان ناخواسته بارگذاری و اجرا نماید؛ شایان ذکر است که dlopen الزاماً به پسوند .so وابسته نیست و این امر برد حمله را افزایش می‌دهد.

این آسیب‌پذیری اپلیکیشن‌هایی را که با نسخه‌های آسیب‌پذیر Unity Editor ایجاد شده‌اند تحت‌تأثیر قرار می‌دهد و در پلتفرم‌های اندروید، ویندوز، مک (macOS) و لینوکس قابل وقوع است. اثر اصلی آن اجرای کد دلخواه (ACE) و افشای اطلاعات حساس در سطح دسترسی فرآیندِ آسیب‌پذیر است؛ به عبارت دیگر، حمله در چارچوبِ مجوزهای همان اپلیکیشن اجرا می‌شود.

برای بهره‌برداری در حالت لوکال، مهاجم می‌تواند با اجرای یک اپ لوکال یا ارسال intent (پیامی در اندروید برای ارتباط بین اپ‌ها) آرگومان مخرب را تزریق کند. در حالت از راه دور، نیاز است اپلیکیشن هدف UnityPlayerActivity یا UnityPlayerGameActivity را با صفت BROWSABLE اکسپورت کند و مهاجم بتواند فایل‌هایی با محتوای تحت کنترل خود را در ذخیره‌سازی خصوصیِ اپلیکیشن (private storage) بنویسد، مثلاً از طریق مکانیزم کش (caching). در غیر این صورت، بهره‌برداری از راه دور محدود یا غیرممکن است. اندرویدِ مدرن با سیاستِ سخت‌گیرانه SELinux دسترسی dlopen به مسیرهایی مانند /sdcard/Download را محدود می‌کند، اما چون مسیرهای داخل /data/ (فضای خصوصی اپ) معمولاً مجازند، نوشتن فایل مخرب در فضای خصوصی می‌تواند این محدودیت را دور بزند.

پیامدهای این آسیب‌پذیری شامل اجرای کد دلخواه (ACE) در سطح اپلیکیشن، افشای اطلاعات حساس و اختلال در دسترس پذیری است. بهره‌برداری به‌طور عمومی نیاز به احراز هویت ندارد ولی در بسیاری از سناریوها پیچیده است.

کد اثبات مفهومی (PoC) در مخزن GitHub برای بازی‌های اندروید موجود است که حمله لوکال را با ارسال intent حاوی آرگومان -xrsdk-pre-init-library /path/to/malicious.so نشان می‌دهد و کتابخانه native مخرب را بارگذاری می‌کند.

در منابع رسمی دو امتیاز CVSS گزارش شده است. 7.4 (CVSS v3.1) که توسط CNA/MITRE ارائه شده و به پیچیدگیِ نسبتاً بالاتر برخی سناریوهای لوکال اشاره دارد و 8.4 (CVSS v3.1) که توسط CISA‑ADP منتشر شده و در شرایطی که مهاجم بتواند از فضای ذخیره‌سازی خصوصیِ اپ استفاده کند، پیچیدگی بهره‌برداری را کمتر و دامنه اثر را وسیع‌تر در نظر می‌گیرد.

پَچ‌های Unity برای نسخه‌های 2019.1 و بالاتر منتشر شده‌اند و رفع کامل مستلزم به‌روزرسانی Editor و بازسازی (rebuild & redeploy) اپلیکیشن‌های آسیب‌پذیر یا اعمال binary patch است.

CVSS

Score Severity Version Vector String
7.4 HIGH 3.1 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
8.4 HIGH 3.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

 لیست محصولات آسیب پذیر

Versions Platforms Product
affected from 6000.3 before 6000.3.0b4

affected from 6000.2 before 6000.2.6f2

affected from 6000.0 LTS before 6000.0.58f2

affected from 2022.3 xLTS before 2022.3.67f2

affected from 2021.3 xLTS before 2021.3.56f2

affected from 6000.1 before 6000.1.17f1

affected from 2023.2 before 2023.2.22f1

affected from 2023.1 before 2023.1.22f1

affected from 2022.3 LTS before 2022.3.62f2

affected from 2022.2 before 2022.2.23f1

affected from 2022.1 before 2022.1.25f1

affected from 2021.3 LTS before 2021.3.45f2

affected from 2021.2 before 2021.2.20f1

affected from 2021.1 before 2021.1.29f1

affected from 2020.3 before 2020.3.49f1

affected from 2020.2 before 2020.2.8f1

affected from 2020.1 before 2020.1.18f1

affected from 2019.4 LTS before 2019.4.41f1

affected from 2019.3 before 2019.3.17f1

affected from 2019.2 before 2019.2.23f1

affected from 2017.1.2p4 before 2019.1.15f1

Android, Windows, macOS, and Linux Unity Editor

لیست محصولات بروز شده

Versions Platforms Product
6000.3.0b4 Android, Windows, macOS, and Linux Unity Editor 6000.3
6000.2.6f2 Android, Windows, macOS, and Linux Unity Editor 6000.2
6000.0.58f2 Android, Windows, macOS, and Linux Unity Editor 6000.0 LTS
2022.3.67f2 Android, Windows, macOS, and Linux Unity Editor 2022.3 xLTS
2021.3.56f2 Android, Windows, macOS, and Linux Unity Editor 2021.3 xLTS
6000.1.17f1 Android, Windows, macOS, and Linux Unity Editor 6000.1
2023.2.22f1 Android, Windows, macOS, and Linux Unity Editor 2023.2
2023.1.22f1 Android, Windows, macOS, and Linux Unity Editor 2023.1
2022.3.62f2 Android, Windows, macOS, and Linux Unity Editor 2022.3 LTS
2022.2.23f1 Android, Windows, macOS, and Linux Unity Editor 2022.2
 2022.1.25f1 Android, Windows, macOS, and Linux Unity Editor 2022.1
2021.3.45f2 Android, Windows, macOS, and Linux Unity Editor2021.3 LTS
2021.2.20f1 Android, Windows, macOS, and Linux Unity Editor 2021.2
2021.1.29f1 Android, Windows, macOS, and Linux Unity Editor 2021.1
2020.3.49f1 Android, Windows, macOS, and Linux Unity Editor 2020.3
2020.2.8f1 Android, Windows, macOS, and Linux Unity Editor 2020.2
2020.1.18f1 Android, Windows, macOS, and Linux Unity Editor 2020.1
2019.4.41f1 Android, Windows, macOS, and Linux Unity Editor 2019.4 LTS
2019.3.17f1 Android, Windows, macOS, and Linux Unity Editor 2019.3
2019.2.23f1 Android, Windows, macOS, and Linux Unity Editor 2019.2
2019.1.15f1 Android, Windows, macOS, and Linux Unity Editor 2017.1.2p4

 استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Unity Editor را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
681 site:.ir “Unity Editor” Unity Editor

نتیجه گیری

این آسیب‌پذیری با شدت بالا، تهدیدی جدی برای اپلیکیشن‌های ایجادشده با Unity Editor، به ویژه روی پلتفرم اندروید است؛ جایی که امکان اجرای کد دلخواه از طریق intent و کشینگ وجود دارد. برای کاهش ریسک و محافظت از کاربران، توصیه می‌شود اقدامات زیر به سرعت اجرا شوند:

  • به‌روزرسانی و بازسازی اپلیکیشن: Unity Editor را به نسخه پچ‌شده به‌روزرسانی کرده، سپس اپلیکیشن‌ها را بازسازی (Rebuild) و مجدداً مستقر (Redeploy) نمایید.
  • پچ باینری: از ابزار Unity Binary Patch برای جایگزینی کتابخانه runtime آسیب‌پذیر بدون بازسازی کامل استفاده کنید.
  • محدودسازی intentها در اندروید: در xml، دسته BROWSABLE را از UnityPlayerActivity حذف کنید و intentهای ورودی را اعتبارسنجی نمایید تا از تزریق آرگومان جلوگیری شود.
  • نظارت بر ذخیره‌سازی: فایل‌های نوشته‌شده در private storage را اسکن کرده و از نوشتن محتوای کنترل‌شده توسط مهاجم (مانند کش) جلوگیری کنید؛ از SELinux یا AppArmor برای محدودسازی dlopen بهره ببرید.
  • به‌روزرسانی کلی: تمام اپلیکیشن‌های Unity را به نسخه‌های 2019.1 و بالاتر به روزرسانی کنید و از لینک‌های Unity Hub برای دانلود پچ‌ها استفاده نمایید.
  • تست امنیتی: اپلیکیشن‌ها را با ابزارهایی مانند Ghidra یا ADB برای شناسایی آرگومان‌های آسیب‌پذیر تست کنید و لاگ‌های intent را نظارت نمایید.
  • جایگزینی نسخه های قدیمی: نسخه‌های قدیمی و بدون پچ Unity Editor را با نسخه های جدیدتر و امن تر جایگزین کنید
  • آموزش توسعه‌دهندگان: آگاهی از ریسک‌های Argument Injection در فریم‌ورک‌ها را افزایش داده و فرآیندهای Responsible Disclosure برای گزارش آسیب‌پذیری‌ها را رعایت کنید.

اجرای این اقدامات، ریسک اجرای کد دلخواه (ACE) و افشای اطلاعات را به حداقل رسانده و امنیت اپلیکیشن‌های Unity را بهبود می‌بخشد.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
آسیب‌پذیری از طریق آرگومان‌ یا اینتنت‌های کنترل‌شده مثلاً ارسال intent در اندروید یا پارامترهای خط‌فرمان امکان ورود مهاجم به فضای اجرای اپ را فراهم می‌کند

Execution (TA0002)
مهاجم با کنترل آرگومان‌ها و مسیرهای جست‌وجو، تابع بارگذاری دینامیک مثل dlopen را به سمت یک کتابخانه native مخرب هدایت می‌کند که درون فرایند اپ لود و کد دلخواه اجرا می‌گردد

Persistence (TA0003)
کتابخانه مخرب می‌تواند داخل فضای خصوصی اپ یا cache قرار گیرد تا در راه‌اندازی‌های بعدی دوباره لود شود و دسترسی ماندگار ایجاد کند

Privilege Escalation (TA0004)
اگر اپ سطح امتیاز بالاتری (مثلاً دسترسی فایل‌های حساس یا مجوزهای سیستم) داشته باشد، اجرای کد موجب دستیابی مهاجم به آن امتیازات می‌شود

Defense Evasion (TA0005)
بارگذاری کتابخانه درون پروسس و اجرای کد بومی به مهاجم امکان می‌دهد فعالیت‌ها را درون پردازش پنهان کند و از تشخیص ساده‌ی آنتی‌ویروس/EDR عبور کند

Lateral Movement (TA0008)
پس از اجرای کد، ماژول مخرب می‌تواند کانال‌های شبکه یا credentialها را خوانده و از طریق آن‌ها به سرویس‌ها یا دستگاه‌های دیگر منتقل شود

Collection (TA0009)
کتابخانه‌ی بارگذاری‌شده می‌تواند داده‌های حساس در حافظه یا فایل‌های اپ (توکن‌ها، فایل‌های کاربر) را بخواند و گردآوری کند

Exfiltration (TA0010)
داده‌های جمع‌آوری‌شده می‌توانند از طریق درخواست‌های شبکه، intentهای بازگشتی یا کانالهای پوشیده (timing/DNS) خارج شوند

Impact (TA0040)
نتیجه نهایی اجرای کد دلخواه شامل افشای اطلاعات حساس، اختلال در کارکرد اپ و احتمال دسترسی به منابع بیشتر است

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-59489
  2. https://www.cvedetails.com/cve/CVE-2025-59489/
  3. https://unity.com/security/sept-2025-01
  4. https://flatt.tech/research/posts/arbitrary-code-execution-in-unity-runtime/
  5. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-59489
  6. https://vuldb.com/?id.326899
  7. https://github.com/RealtekDotSys/Meteor
  8. https://github.com/GithubKillsMyOpsec/CVE-2025-59489-POC
  9. https://nvd.nist.gov/vuln/detail/CVE-2025-59489
  10. https://cwe.mitre.org/data/definitions/88.html
  11. https://cwe.mitre.org/data/definitions/426.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید

send
سوالی دارید؟
می تونید از من بپرسید 👋 ×