Unity Editor: Improper Neutralization of Argument Delimiters in a Command
CVE-2025-59489 is a high-severity improper neutralization of argument delimiters in a command vulnerability in Unity Editor from Unity3D, with a CVSS 3.1 base score of 7.4 out of 10. It can be exploited with local access to the system by an unauthenticated attacker, without any action from a user. The record lists versions 6000.3.0b4, 6000.2.6f2, 6000.0.58f2 as the first without the flaw, so updating Unity Editor to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.86% chance of exploitation within 30 days, higher than 59% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Unity Editor to 6000.3.0b4 or 6000.2.6f2 or 6000.0.58f2 or 2022.3.67f2, whichever matches your release line, or a later version.
- Update Editor to 2019.1.15f1 or 2019.2.23f1 or 2019.4.41f1 or 2020.1.18f1, whichever matches your release line, or a later version.
- Read the advisory on unity.com for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Unity3D | Unity Editor | 6000.3 up to, but not including, 6000.3.0b4; 6000.2 up to, but not including, 6000.2.6f2; 6000.0 LTS up to, but not including, 6000.0.58f2; 2022.3 xLTS up to, but not including, 2022.3.67f2; 2021.3 xLTS up to, but not including, 2021.3.56f2; 6000.1 up to, but not including, 6000.1.17f1; 2023.2 up to, but not including, 2023.2.22f1; 2023.1 up to, but not including, 2023.1.22f1; and 13 more ranges | 6000.3.0b4, 6000.2.6f2, 6000.0.58f2, 2022.3.67f2, 2021.3.56f2, 6000.1.17f1 |
| Unity | Editor | 2017.4 through 2018.4; 2019.1 up to, but not including, 2019.1.15f1; 2019.2 up to, but not including, 2019.2.23f1; 2019.3 through 2019.3.17f1; 2019.4 up to, but not including, 2019.4.41f1; 2020.1 up to, but not including, 2020.1.18f1; 2020.2 up to, but not including, 2020.2.8f1; 2020.3 up to, but not including, 2020.3.49f1; and 15 more ranges | 2019.1.15f1, 2019.2.23f1, 2019.4.41f1, 2020.1.18f1, 2020.2.8f1, 2020.3.49f1 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- HighSuccess depends on conditions outside the attacker's control.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by CNA (mitre.org).
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 7.4 | High | CNA (mitre.org) |
| CVSS 3.1 | 8.4 | High | CISA (ADP) |
Official description
Unity Runtime before 2025-10-02 on Android, Windows, macOS, and Linux allows argument injection that can result in loading of library code from an unintended location. If an application was built with a version of Unity Editor that had the vulnerable Unity Runtime code, then an adversary may be able to execute code on, and exfiltrate confidential information from, the machine on which that application is running. NOTE: product status is provided for Unity Editor because that is the information available from the Supplier. However, updating Unity Editor typically does not address the effects of the vulnerability; instead, it is necessary to rebuild and redeploy all affected applications.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Neutralization of Argument Delimiters in a Command
The product constructs a string for a command to be executed by a separate component in another control sphere, but it does not properly delimit the intended arguments, options, or switches within that command string.
How developers prevent this class of flaw
- Understand all the potential areas where untrusted inputs can enter your product: parameters or arguments, cookies, anything read from the network, environment variables, request headers as well as content, URL components, e-mail, files, databases, and any external systems that provide data to the application. Perform input validation at well-defined interfaces.
- Directly convert your input type into the expected data type, such as using a conversion function that translates a string into a number. After converting to the expected data type, ensure that the input's values fall within the expected range of allowable values and that multi-field consistencies are maintained.
- When exchanging data between components, ensure that both components are using the same character encoding. Ensure that the proper encoding is applied at each interface. Explicitly set the encoding you are using whenever the protocol allows you to do so.
More Improper Neutralization of Argument Delimiters in a Command vulnerabilities (CWE-88)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: poc, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
Technical write-ups (may include proof of concept)
- flatt.tech/research/posts/arbitrary-code-execution-in-unity-runtime/Exploit, Third Party Advisory
Other references
Recent Improper Neutralization of Argument Delimiters in a Command vulnerabilities
- 9.1 Critical severity
- 8.6 High severity
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
- 8.5 High severity
Spotted an error? Tell us.