Turms AI-Serving モジュール v0.10.0-SNAPSHOT およびそれ以前のバージョンには、OCR画像アップロード機能において不適切なファイルタイプ検証の脆弱性があります。turms-ai-serving/src/main/java/im/turms/ai/domain/ocr/controller/OcrController.java 内の OcrController では、@FormData(contentType = MediaTypeConst.IMAGE) アノテーションを使用してアップロードを画像ファイルに制限していますが、この制約が適切に強制されていません。システムは、実際のファイル内容(マジックバイトやファイルシグネチャ)を検証せず、クライアントが指定した Content-Type ヘッダーやファイル拡張子のみに依存しています。そのため、攻撃者は Content-Type ヘッダーを "image/*" に設定したり、画像ファイル拡張子を使用することで、実行ファイルやスクリプト、HTML、Web シェルなど任意のファイルタイプをアップロードできます。このバイパスにより、アップロードされたファイルの処理や提供方法によっては、サーバー側でコードが実行されたり、保存型 XSS や情報漏洩などのリスクが生じます。
|