---
id: CVE-2025-66908
title: >-
  Turms AI-Serving module v0.10.0-SNAPSHOT and earlier contains an improper file
  type validation vulnerability in the OCR image upload functionality
summary: >-
  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/Ocr…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'
cwe:
  - CWE-434
vendor: turms-im
product: turms
affected:
  - turms = 0.10.0-snapshot
published: '2025-12-19'
updated: '2026-10-05'
sourceUpdated: '2026-10-05T18:10:00.200'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-66908'
references:
  - url: >-
      https://github.com/Xzzz111/public_cve_report/blob/main/CVE-2025-66908_report.md
    label: cve@mitre.org
  - url: 'https://github.com/turms-im/turms'
    label: cve@mitre.org
  - url: >-
      https://github.com/turms-im/turms/blob/develop/turms-ai-serving/src/main/java/im/turms/ai/domain/ocr/controller/OcrController.java
    label: cve@mitre.org
  - url: >-
      https://github.com/Xzzz111/public_cve_report/blob/main/CVE-2025-66908_report.md
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.00436
epssPercentile: 0.35645
ingestedAt: '2026-10-05T18:29:11.155Z'
---

## Overview

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.

## Affected

- `turms = 0.10.0-snapshot`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
