Arbitrary file upload in Turms-Im Turms

CVE-2025-66908

Turms AI-Serving module v0.10.0-SNAPSHOT and earlier contains an improper file type validation vulnerability in the OCR image upload functionality. The OcrController in turms-ai-serving/src/main/java/im/turms/ai/domain/ocr/controller/OcrController.java uses the @FormData(contentType = MediaTypeConst.IMAGE) annotation to restrict uploads to image files, but this constraint is not properly enforced. The system relies solely on client-provided Content-Type headers and file extensions without validating actual file content using magic bytes (file signatures). An attacker can upload arbitrary file types including executables, scripts, HTML, or web shells by setting the Content-Type header to "image/*" or using an image file extension. This bypass enables potential server-side code execution, stored XSS, or information disclosure depending on how uploaded files are processed and served.

Vulnerability class: Unrestricted File Upload

Published · last modified .

CVSS v3 metric

CVSS v3 base score 5.3 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N.

EPSS exploit prediction

EPSS: 0.004 (35.4th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 35th percentile — 35.4% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2025-66908: held from 0.004 to 0.004.

EPSS over last 30 days · oldest: 0.004 · newest: 0.004 · change: +0.000

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2025-66908?
CVE-2025-66908 is a medium-severity vulnerability in Turms-Im Turms, classified under Unrestricted Upload of File with Dangerous Type. CVSS score: 5.3/10. Published 2025-12-19.
How severe is CVE-2025-66908?
Medium severity. CVSS v3 base score is 5.3 out of 10.