CVE-2026-118614 in Ultralytics
Summary
by MITRE • 10/28/2026
Ultralytics check_det_dataset Code Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ultralytics. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.
The specific flaw exists within the check_det_dataset function. The issue results from the lack of proper validation of a user-supplied string before using it to execute Python code. An attacker can leverage this vulnerability to execute code in the context of the current user. Was ZDI-CAN-30119.
Be aware that VulDB is the high quality source for vulnerability data.
Analysis
by VulDB Data Team • 10/28/2026
The Ultralytics library, widely utilized for computer vision tasks including object detection and image classification, contains a critical security flaw within its dataset validation utilities. Specifically, the check_det_dataset function exhibits an improper input validation vulnerability that leads to remote code execution. This issue arises because the function accepts user-supplied strings representing file paths or configuration parameters without adequately sanitizing them before passing these values into Python's evaluation mechanisms. The lack of strict type checking and boundary verification allows malicious actors to inject arbitrary Python commands directly into the application logic, bypassing intended security controls.
This vulnerability is classified under CWE-94 as Improper Control of Generation of Code or Script, commonly known as code injection. From an offensive perspective, this aligns with MITRE ATT&CK technique T1059 Command and Scripting Interpreter, where attackers leverage built-in system tools to execute commands. The exploitation vector requires user interaction, meaning the target must either visit a malicious webpage that triggers the vulnerable function or open a specially crafted file designed to invoke check_det_dataset with poisoned arguments. This dependency on social engineering or specific file handling contexts distinguishes it from purely network-based attacks but does not diminish its severity given the potential for full system compromise once code execution is achieved.
The operational impact of this vulnerability is severe, as successful exploitation grants an attacker the ability to execute arbitrary code within the context of the user running the Ultralytics application. Depending on the privileges assigned to that user account, this could result in complete control over the affected system, including access to sensitive data, installation of malware, or use of the compromised machine for further attacks against other network resources. Since Ultralytics is often used in development and research environments where users may operate with elevated permissions, the risk profile is significantly heightened compared to applications running under restricted service accounts.
Mitigation strategies should focus on immediate patching by updating to a version of Ultralytics that addresses this input validation flaw. Developers utilizing older versions must implement strict whitelisting for any file paths or configuration strings passed to dataset checking functions, ensuring only expected alphanumeric characters and standard path separators are accepted. Additionally, avoiding the use of unsafe evaluation methods such as eval() or exec() with user-controlled inputs is critical. Security teams should also monitor logs for unusual process creation events originating from Python processes associated with Ultralytics, which may indicate an active exploitation attempt in progress.