Introduction
For years, Unity-based games and applications on Android, Windows, macOS, and Linux have carried a high-severity vulnerability that lets attackers execute arbitrary code or escalate privileges through unsafe file loading. Unity powers about 70 percent of top mobile games and countless cross-platform apps, so the impact of CVE-2025-59489 on the software industry is broad and significant.
Unity Technologies is a leading game engine developer, and its engine runs major titles such as Among Us and Pokémon GO. The engine is also used in enterprise, education, and simulation, so a flaw in the Unity runtime puts a wide range of sectors at risk.
Technical Information
CVE-2025-59489 is a vulnerability in Unity Editor versions 2019.1 through 6000.3 that lets attackers exploit untrusted search path and local file inclusion mechanisms. The root cause is Unity's improper handling of the -xrsdk-pre-init-library command-line argument. The argument was meant for legitimate pre-initialization of native libraries, but an attacker can abuse it to load their own libraries from arbitrary locations.
When a Unity application is launched with this argument, it tries to load the specified library without checking where the library came from or whether it is intact. That is a CWE-426 untrusted search path flaw. An attacker places a malicious library somewhere the application can reach it, then launches the Unity app with the crafted argument. On Android, a malicious app can extract its own native libraries and start a Unity app with the vulnerable argument. On Windows, if a Unity app registers a custom URI handler, remote exploitation is possible through a crafted URI that passes the malicious argument.
A successful attack gets arbitrary code execution with the Unity application's privileges, which can include sensitive permissions or access to user data. No public code snippets are available for this vulnerability. The flaw is present in all Unity Editor versions from 2019.1 up to and including 6000.3.
Detection Methods
Detecting unauthorized code execution in Unity applications requires both static and dynamic analysis, to find potential vulnerabilities and malicious activity.
Static Analysis Techniques:
-
Code Obfuscation and Encryption: Obfuscation tools make Unity applications harder for attackers to reverse-engineer. Obfuscated code hides the logic and structure of the application, which reduces the risk of unauthorized code execution. (thegabmeister.com)
-
Integrity Verification: Integrity checks added during the build process help detect unauthorized changes to the application's codebase. The checks generate and verify cryptographic hashes of the application's files to confirm the files have not been tampered with. (jikguard.com)
Dynamic Analysis Techniques:
-
Runtime Monitoring: Runtime monitoring tools watch a Unity application while it executes. They can flag unexpected behavior, such as unauthorized memory access or code injection attempts, and raise alerts or take defensive action when they see it. (appdome.com)
-
Behavioral Analysis: Running a Unity application in a controlled environment and watching what it does can reveal potential vulnerabilities. Security researchers observe how the application interacts with system resources and external inputs, and look for patterns that indicate malicious activity. (onlinelibrary.wiley.com)
Indicators of Compromise (IoCs):
- Unexpected network communications initiated by the Unity application.
- Unknown or unauthorized DLLs or shared libraries loaded at runtime.
- Unusual memory usage patterns or access violations.
- Changes in the application's behavior, such as crashes or unexpected outputs.
Monitoring Guidance:
- Review application logs regularly for signs of unauthorized access or anomalies.
- Monitor the system calls the Unity application makes, to catch unauthorized operations.
- Use file integrity monitoring to detect unauthorized changes to the application's files.
References for detection: flatt.tech, thegabmeister.com, jikguard.com, appdome.com, onlinelibrary.wiley.com
Affected Systems and Versions
- Unity Editor versions 2019.1 through 6000.3 are affected.
- All applications built with these Unity Editor versions are vulnerable.
- Platforms impacted: Android, Windows, macOS, Linux.
- Exploitation is possible through crafted local applications and, on Windows, through custom URI handlers.
Vendor Security History
Unity Technologies has addressed past vulnerabilities quickly and transparently. Previous issues include log4j-related vulnerabilities and other engine-level flaws. The company runs a bug bounty program and coordinates responsible disclosure with external researchers. It publishes security advisories and updates regularly and, when necessary, ships fixes for out-of-support versions as well as current ones.



