Skip to main content

Tencent HunyuanVideo CVE-2025-13710

HIGH
Deserialization of Untrusted Data (CWE-502)
2025-12-23 zdi-disclosures@trendmicro.com
7.8
CVSS 3.0 · Vendor: trendmicro
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious VAE/pickle model file
  2. Delivery
    Deliver via download link or shared checkpoint
  3. Exploit
    Victim loads file via load_vae
  4. Execution
    Untrusted data deserialized (CWE-502)
  5. Impact
    Arbitrary code executes as root

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim to load an attacker-supplied VAE/model checkpoint through the HunyuanVideo load_vae function (e.g., visiting a malicious page that triggers a load, or opening a malicious model file). The specific prerequisite is that load_vae deserializes untrusted data (CWE-502) without validation - on unpatched versions using a torch.load path prior to torch 2.6.0's weights_only=True default. Limiting factors: mandatory user interaction (UI:R) and a local attack vector (AV:L) - there is no direct network trigger; the attacker must get the target to load the crafted file. The root-context impact implies the software is commonly run as root (e.g., in default containers), which amplifies severity where that deployment pattern holds.

Impact

Signals are mostly consistent and point to a serious but non-urgent issue. The CVSS 3.0 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, 7.8 HIGH) describes a local, low-complexity, unauthenticated flaw that nonetheless requires user interaction - the victim must open or load a malicious file. This is not a remotely triggerable network RCE despite the advisory title using 'Remote Code Execution'; the 'remote attacker' framing refers to delivering a malicious model/VAE file, not direct network exploitation (AV:L). EPSS is low at 0.51% (42nd percentile), which is coherent with the local, UI-dependent nature and the lack of a listed public exploit. This is NOT in CISA KEV and no POC is referenced in the provided data, so there is no evidence of active exploitation - treat the 'RCE as root' impact as the main driver of severity, not imminent mass exploitation. Net: a genuine high-impact code-execution bug (deserialization/CWE-502 yielding root) but with meaningful preconditions (local file load + user action), so it is a real priority for anyone running HunyuanVideo with untrusted model files, rather than a drop-everything internet-facing emergency. Note the AV:L vs. 'Remote' description tension - verify the exact delivery path with the ZDI advisory (ZDI-25-1030).

Exploit ScenarioDerived

An attacker crafts a malicious VAE/model checkpoint containing a serialized (pickle) payload and distributes it via a model-sharing site, link, or file. When a victim loads that file through HunyuanVideo's load_vae function, the untrusted data is deserialized and attacker-controlled code executes in the context of root. No public exploit code is identified at time of analysis, but the deserialization pattern (CWE-502) is well understood and trivially weaponizable.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Deserialization of untrusted data in Tencent HunyuanVideo's load_vae function allows remote attackers to execute arbitrary code in the context of root when a victim loads an attacker-supplied VAE or model checkpoint - for example by opening a malicious model file or visiting a page that triggers a load. Exploitation requires user interaction (CVSS 3.x UI:R) and is a local-vector attack (AV:L, unauthenticated per PR:N) scoring 7.8, with severity amplified in the common deployment pattern where HunyuanVideo runs as root inside default containers. Risk is currently moderate rather than urgent: EPSS is 0.51% (42nd percentile), no public exploit code has been identified at time of analysis, and the project has published an upstream fix that pins torch==2.6.0, whose weights_only=True default closes the torch.load pickle path.

RemediationAI

Apply the upstream fix commit b47e10b95483aa8458b64d23350844c29e91c408 and ensure the runtime resolves to torch 2.6.0 or later, which makes weights_only=True the default for torch.load and blocks the pickle-based code execution path; vendor advisory detail is at https://www.zerodayinitiative.com/advisories/ZDI-25-1030/. Where upgrading PyTorch immediately is impractical, explicitly call torch.load(..., weights_only=True) in load_vae - the trade-off is that checkpoints containing custom classes or non-tensor objects will fail to load and must be re-serialized as safetensors, and this requires patching the code rather than just the dependency file. Operational compensating controls: never run HunyuanVideo as root and instead use an unprivileged container user so any deserialized payload lands without root context (side effect: model cache and output directories need ownership adjustments); restrict load_vae to operator-vetted checkpoints verified by SHA-256 hash rather than user-uploaded or downloaded-on-demand model files (side effect: breaks self-service model swapping in shared inference services); and run model-loading workers in a sandboxed, network-egress-restricted container (side effect: complicates workflows that fetch weights at runtime). Because the attack vector is local with mandatory user interaction, avoid opening untrusted .pt/.pth files and avoid pipelines that auto-load models from untrusted URLs.

Affected ProductsAI

Tencent HunyuanVideo installations built from repository revisions prior to commit b47e10b95483aa8458b64d23350844c29e91c408 are affected, including any deployment whose environment resolves to a PyTorch version earlier than 2.6.0 (the pre-fix requirements.txt did not pin torch to a safe release). Because the vulnerability lives in the model-loading code path rather than in a versioned release artifact, practically every downstream fork, Docker image, or ComfyUI-style integration that vendors HunyuanVideo and calls load_vae on user-supplied checkpoints inherits the exposure. No official CPE identifiers were included in the available intelligence, so version scoping should be confirmed against the vendor commit and the ZDI advisory ZDI-25-1030 (https://www.zerodayinitiative.com/advisories/ZDI-25-1030/) alongside the fix commit at https://github.com/Tencent-Hunyuan/HunyuanVideo/commit/b47e10b95483aa8458b64d23350844c29e91c408.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-502 (Deserialization of Untrusted Data) inside the load_vae routine of the HunyuanVideo inference codebase. HunyuanVideo is a PyTorch-based video generation model, and its checkpoint/VAE loading path historically relied on torch.load(), which by default (torch versions prior to 2.6.0) unpickles arbitrary Python objects via the pickle module. An attacker-crafted .pt/.pth checkpoint can therefore embed a __reduce__ payload that executes arbitrary commands at load time, before any model validation occurs. The upstream fix commit b47e10b95483aa8458b64d23350844c29e91c408 addresses this not by rewriting load_vae but by pinning the dependency to torch==2.6.0 in requirements.txt, thereby inheriting PyTorch's change of the torch.load default to weights_only=True, which restricts unpickling to a safe allowlist of tensors and primitive types. No CPE strings were supplied with the record, so exact affected version enumeration must be derived from the commit boundary rather than formal CPE ranges.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (trendmicro) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Malicious file must be loaded locally by the user (AV:L, UI:R), no auth or special config needed (PR:N, AC:L), and pickle deserialization yields full root code execution (C/I/A:H).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (trendmicro).

CVSS VectorVendor: trendmicro

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

Tencent HunyuanVideo load_vae Deserialization of Untrusted Data Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Tencent HunyuanVideo. 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 load_vae function.The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of root. Was ZDI-CAN-27186.

Executive ViewAI

Why It Matters

Tencent HunyuanVideo deployments that ingest third-party model files carry a high-severity code-execution risk, because a crafted VAE or checkpoint can run with the service's privileges and, in common container setups, as root. Leadership should care because the affected workflow is user-driven model loading, so a single malicious artifact shared with a research or media team could compromise the host and any mounted data, even though no public exploit has been identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include pinning torch==2.6.0 as published upstream to enable weights_only=True, prohibiting loading of untrusted VAE or model checkpoints, running HunyuanVideo as a non-root user in a sandboxed container with minimal mounts, scanning and quarantining model artifacts, restricting model sources to approved repositories, and monitoring for unusual child processes or file writes from model-loading workflows.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche open-source AI video model used mainly in ML research/hobbyist setups
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy