CVE-2025-68430 Overview
CVE-2025-68430 is a path traversal vulnerability in Computer Vision Annotation Tool (CVAT), an open source interactive video and image annotation platform used for computer vision workflows. The flaw affects CVAT versions 2.8.1 through 2.52.0. An authenticated attacker with any CVAT account can enumerate the names of files and subdirectories located anywhere on the file system accessible to the CVAT server process. File contents are not disclosed, but directory names can reveal sensitive infrastructure layout, deployment paths, and credentials file locations. Version 2.53.0 contains the fix. The issue is tracked under [CWE-24: Path Traversal ../filedir].
Critical Impact
Any authenticated user can list arbitrary server-side directories, exposing file and folder names that aid reconnaissance for follow-on attacks against the host running CVAT.
Affected Products
- CVAT Computer Vision Annotation Tool versions 2.8.1 through 2.52.0
- Self-hosted CVAT deployments exposing the shared file browser API
- CVAT instances where user registration or account provisioning is enabled
Discovery Timeline
- 2025-12-19 - CVE-2025-68430 published to the National Vulnerability Database (NVD)
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-68430
Vulnerability Analysis
The vulnerability resides in the CVAT engine views that serve the shared file browser. CVAT exposes an API endpoint that lets authenticated users enumerate contents of the configured SHARE_ROOT directory. The endpoint accepts a user-supplied directory parameter and joins it with SHARE_ROOT before listing entries. The joined path is normalized with Path.absolute(), which does not resolve symbolic links or collapse .. traversal segments against the real file system. As a result, an attacker can supply a crafted directory parameter that traverses outside of SHARE_ROOT and returns the names of files and subdirectories from arbitrary locations readable by the CVAT server process.
Root Cause
The root cause is improper canonicalization of a user-controlled path. The code path checked str(directory).startswith(settings.SHARE_ROOT) after calling .absolute(), but .absolute() only prepends the current working directory without resolving .. segments or symlinks. A crafted parameter can satisfy the string prefix check while still pointing outside SHARE_ROOT after the operating system resolves the path.
Attack Vector
Exploitation requires a valid CVAT account and network access to the CVAT web API. The attacker sends a request to the share listing endpoint with a directory parameter containing traversal sequences. The server returns a JSON list of file and directory names for the resolved target. Repeated requests allow an attacker to map the entire file system tree accessible to the CVAT process user.
if directory_param.startswith("/"):
directory_param = directory_param[1:]
- directory = (Path(settings.SHARE_ROOT) / directory_param).absolute()
+ directory = (Path(settings.SHARE_ROOT) / directory_param).resolve()
if str(directory).startswith(settings.SHARE_ROOT) and directory.is_dir():
data = []
Source: CVAT patch commit 2c24ef0. The fix replaces .absolute() with .resolve(), which normalizes .. segments and resolves symlinks before the startswith check, ensuring the target path is genuinely inside SHARE_ROOT.
Detection Methods for CVE-2025-68430
Indicators of Compromise
- HTTP requests to CVAT share or filesystem listing endpoints containing .., %2e%2e, or URL-encoded traversal sequences in the directory query parameter
- Authenticated CVAT sessions issuing repeated directory listing requests targeting paths such as /etc, /root, /home, or application configuration directories
- CVAT application logs showing successful listing responses for directory values that resolve outside the configured SHARE_ROOT
Detection Strategies
- Inspect CVAT access logs for GET requests to the share listing API with traversal patterns in query strings, and correlate them with the authenticated user identifier
- Deploy a WAF or reverse proxy rule that flags any directory parameter containing .., %2e, backslash sequences, or absolute paths
- Baseline normal share browsing behavior per user and alert on anomalous request volume or unusual target paths
Monitoring Recommendations
- Forward CVAT web server and application logs to a centralized logging platform for retention and query
- Monitor CVAT user account creation events, particularly on instances that permit self-registration, to identify low-value accounts abused for reconnaissance
- Track file system access from the CVAT service account for reads outside the expected SHARE_ROOT and media directories
How to Mitigate CVE-2025-68430
Immediate Actions Required
- Upgrade all CVAT deployments to version 2.53.0 or later, which contains the patched path resolution logic
- Audit CVAT user accounts and disable any that are inactive, unknown, or associated with self-service registration on public instances
- Review CVAT access logs since deployment for traversal attempts and treat any confirmed exploitation as a reconnaissance event against the host
Patch Information
The fix is included in CVAT 2.53.0 via commit 2c24ef0c3f8fd94f6c71cff4eafcf11bfcaa5f91. The patch replaces Path.absolute() with Path.resolve() so that .. segments and symlinks are fully normalized before the SHARE_ROOT prefix check. Refer to the GitHub Security Advisory GHSA-3g7v-xjh7-xmqx and the CVAT patch commit for details.
Workarounds
- No official workaround is available; upgrading to 2.53.0 is required per the vendor advisory
- Restrict network access to the CVAT instance so that only trusted users can reach the authenticated API surface
- Run the CVAT service under a dedicated low-privilege account with a minimal file system view to limit the value of any directory enumeration
# Upgrade CVAT to the patched release
git fetch --tags
git checkout v2.53.0
docker compose down
docker compose pull
docker compose up -d
# Verify the running version
docker compose exec cvat_server python -c "import cvat; print(cvat.__version__)"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

