CVE-2025-49135

6.5 MEDIUM

📋 TL;DR

This vulnerability in CVAT allows authenticated users with 'user' role to access other users' uploaded files during project/task backup imports by exploiting filename validation flaws. It affects all CVAT instances running versions 2.2.0 through 2.39.0. Attackers can potentially steal sensitive annotation data from other users.

💻 Affected Systems

Products:
  • CVAT (Computer Vision Annotation Tool)
Versions: 2.2.0 through 2.39.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects project and task backup imports, not annotation or dataset TUS uploads. Requires attacker to have valid CVAT account with 'user' role and knowledge of other users' filenames.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete data exfiltration where attackers systematically steal all user-uploaded files containing sensitive video/image annotations, potentially exposing proprietary training data or personally identifiable information.

🟠

Likely Case

Targeted data theft where attackers with insider knowledge access specific users' annotation files, compromising project confidentiality and intellectual property.

🟢

If Mitigated

Limited impact with proper access controls and monitoring, where unauthorized access attempts are detected and blocked before significant data loss occurs.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires authenticated access and knowledge of target filenames. No public exploit code available as of advisory publication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.40.0 or later

Vendor Advisory: https://github.com/cvat-ai/cvat/security/advisories/GHSA-frpr-5w6q-hh4f

Restart Required: Yes

Instructions:

1. Backup your CVAT data and configuration. 2. Stop all CVAT services. 3. Update CVAT to version 2.40.0 or later using your deployment method (Docker, Kubernetes, or source). 4. Restart CVAT services. 5. Verify the update was successful.

🧯 If You Can't Patch

  • Implement strict access controls and monitoring for project/task backup import operations.
  • Isolate user upload directories and implement file permission restrictions at OS level.

🔍 How to Verify

Check if Vulnerable:

Check CVAT version via web interface admin panel or by inspecting deployment configuration. Versions 2.2.0 through 2.39.0 are vulnerable.

Check Version:

docker exec cvat_server python manage.py --version 2>/dev/null || check CVAT web interface admin panel

Verify Fix Applied:

Confirm CVAT version is 2.40.0 or later and test that project/task backup imports now validate file ownership properly.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed import attempts with different filenames
  • Import operations accessing files outside user's upload directory
  • Unusual import patterns from single user account

Network Indicators:

  • Unusual volume of import requests to /api/projects or /api/tasks endpoints
  • Requests with suspicious filename parameters

SIEM Query:

source="cvat" AND ("import" OR "backup") AND ("unauthorized" OR "permission denied" OR "access violation")

🔗 References

📤 Share & Export