CVE-2025-23045

9.8 CRITICAL

📋 TL;DR

This vulnerability allows authenticated attackers to execute arbitrary code within CVAT's Nuclio function containers by exploiting unsafe serialization in tracker functions. It affects CVAT deployments running TransT or SiamMask serverless functions, or custom tracker functions using vulnerable serialization libraries like pickle or jsonpickle. Organizations using CVAT for computer vision annotation with these functions are at risk.

💻 Affected Systems

Products:
  • Computer Vision Annotation Tool (CVAT)
Versions: Versions before 2.26.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments running TransT or SiamMask tracker functions from CVAT Git repository, or custom tracker functions using unsafe serialization libraries like pickle or jsonpickle.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full compromise of the CVAT instance, allowing attackers to execute arbitrary code, access sensitive annotation data, pivot to other systems, and potentially compromise the underlying infrastructure.

🟠

Likely Case

Authenticated attackers gaining code execution within function containers, potentially accessing and modifying annotation data, disrupting annotation workflows, and escalating privileges within the CVAT environment.

🟢

If Mitigated

Limited impact with proper network segmentation, minimal privileges, and monitoring, though authenticated users could still disrupt specific tracker functions.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires an authenticated account on the CVAT instance and knowledge of vulnerable tracker functions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: CVAT 2.26.0

Vendor Advisory: https://github.com/cvat-ai/cvat/security/advisories/GHSA-wq36-mxf8-hv62

Restart Required: Yes

Instructions:

1. Backup your CVAT data and configuration. 2. Upgrade to CVAT version 2.26.0 or later using your deployment method (Docker, Kubernetes, etc.). 3. Restart all CVAT services. 4. Verify tracker functions are properly updated.

🔧 Temporary Workarounds

Disable Vulnerable Tracker Functions

all

Shut down TransT and SiamMask tracker functions to prevent exploitation while awaiting upgrade.

# Stop the specific function containers
# For Docker: docker stop [container_name]
# For Kubernetes: kubectl scale deployment [deployment_name] --replicas=0

🧯 If You Can't Patch

  • Immediately shut down all instances of TransT and SiamMask tracker functions
  • Review and secure custom tracker functions to ensure they don't use unsafe serialization libraries like pickle or jsonpickle

🔍 How to Verify

Check if Vulnerable:

Check if CVAT version is below 2.26.0 and verify if TransT, SiamMask, or custom tracker functions using pickle/jsonpickle are running.

Check Version:

docker exec cvat_server python -c "import cvat; print(cvat.__version__)" or check CVAT web interface admin panel

Verify Fix Applied:

Confirm CVAT version is 2.26.0 or higher and verify tracker functions are properly updated and functioning.

📡 Detection & Monitoring

Log Indicators:

  • Unusual activity in tracker function logs
  • Unexpected code execution patterns in Nuclio containers
  • Authentication logs showing suspicious user access to tracker functions

Network Indicators:

  • Unusual outbound connections from CVAT containers
  • Suspicious traffic to/from tracker function endpoints

SIEM Query:

source="cvat" AND ("TransT" OR "SiamMask" OR "tracker") AND ("error" OR "exception" OR "unexpected")

🔗 References

📤 Share & Export