CVE-2026-112304
7.5HighPublished 19 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
- Impact
- Full C/I/A compromise
- Weakness
- CWE-502
Impact
Attackers can execute arbitrary Python code with the privileges of the running application. To trigger it, an attacker must trick the application or user into loading a malicious checkpoint file from a local path or remote URL.
Root cause
The load_pretrained_params() function calls torch.load without setting weights_only=True, allowing unsafe pickle deserialization.
Affected systems
docTR through 1.1.0 on PyTorch releases before 2.6.
CVSS v3.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade PyTorch to version 2.6 or newer where weights_only defaults to true, or update docTR to a release incorporating commit 687503dd15592483c4699ee51280b41938579a9e. As an immediate workaround, block untrusted checkpoint paths and URLs from being passed to load_pretrained_params().
$ pip install --upgrade "torch>=2.6"AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
docTR through 1.1.0 contains an unsafe deserialization vulnerability in load_pretrained_params() that loads checkpoints with torch.load without weights_only=True. Attackers who control a local or URL-supplied checkpoint can embed a malicious pickle payload to execute Python code with the loading process's privileges on torch releases before 2.6.
References
- https://github.com/mindee/doctr/blob/v1.1.0/doctr/models/utils/pytorch.py
- https://github.com/mindee/doctr/commit/687503dd15592483c4699ee51280b41938579a9e
- https://github.com/mindee/doctr/issues/2175
- https://www.vulncheck.com/advisories/doctr-through-1.1.0-unsafe-deserialization-rce-via-load-pretrained-params