# CVE-2026-108961: PaddlePaddle PaddleX code injection in NormalizeImage

Source: https://junglewise.ai/threats/cve-2026-108961-a-flaw-has-been-found-in-paddlepaddle-paddlex-up-to-3-7-2  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-13. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-108961 · Severity: medium · CVSS 6.3 · Published 2026-10-13

PaddleX is a machine learning framework used to load and run computer vision models. A flaw in its text detection preprocessing allows arbitrary code execution when loading a model with a malicious configuration file, enabling attackers to run code with the privileges of the application processing the model.

Vendors: [PaddlePaddle](https://junglewise.ai/threats/vendors/paddlepaddle).

## Quick answers

**Is CVE-2026-108961 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-108961 being exploited in the wild.

**How severe is CVE-2026-108961?** Medium severity, with a CVSS score of 6.3, published 13 October 2026.

**Which products and versions are affected?** PaddlePaddle PaddleOCR 3.x (via PaddleX dependency); PaddlePaddle PaddleX up to 3.7.2.

**Is there a fix for CVE-2026-108961?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-108961 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-108961?** Check whether you run PaddlePaddle PaddleOCR or PaddlePaddle PaddleX at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The NormalizeImage preprocessor in paddlex/inference/models/text_detection/processors.py uses eval() to process the 'scale' parameter read from inference.yml without validation. An attacker who controls a model directory can craft a malicious scale value to execute arbitrary Python code during model loading. Network-accessible model repositories, third-party models, or user-supplied models create attack vectors; the payload can execute silently and return a valid value to allow inference to continue normally.

## Affected products

- PaddlePaddle PaddleX up to 3.7.2
- PaddlePaddle PaddleOCR 3.x (via PaddleX dependency)

## Timeline

- 2026-09-24: disclosed: Issue #5210 opened
- 2026-10-13: advisory

## References

- [https://github.com/PaddlePaddle/PaddleX/](https://github.com/PaddlePaddle/PaddleX/)
- [https://github.com/PaddlePaddle/PaddleX/issues/5210](https://github.com/PaddlePaddle/PaddleX/issues/5210)
