- شناسه CVE-2025-59489 :CVE
- CWE-88, CWE-426 :CWE
- yes :Advisory
- منتشر شده: اکتبر 3, 2025
- به روز شده: اکتبر 3, 2025
- امتیاز: 8.4
- نوع حمله: Injection
- اثر گذاری: Arbitrary code execution(ACE)
- حوزه: نرم افزارهای کاربردی
- برند: Unity3D
- محصول: Unity Editor
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری در 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)
نتیجه نهایی اجرای کد دلخواه شامل افشای اطلاعات حساس، اختلال در کارکرد اپ و احتمال دسترسی به منابع بیشتر است
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-59489
- https://www.cvedetails.com/cve/CVE-2025-59489/
- https://unity.com/security/sept-2025-01
- https://flatt.tech/research/posts/arbitrary-code-execution-in-unity-runtime/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-59489
- https://vuldb.com/?id.326899
- https://github.com/RealtekDotSys/Meteor
- https://github.com/GithubKillsMyOpsec/CVE-2025-59489-POC
- https://nvd.nist.gov/vuln/detail/CVE-2025-59489
- https://cwe.mitre.org/data/definitions/88.html
- https://cwe.mitre.org/data/definitions/426.html