Safeguard
Vulnerability Analysis•

CVE-2025-6466: Medium Unrestricted Upload in ruoyi-ai 2.0.0

CVE-2025-6466 is a medium severity unrestricted file upload in ruoyi-ai 2.0.0 speech to text upload. Upgrade to 2.0.1, which contains the fix commit.

Safeguard Security Team
3 min read

CVE-2025-6466 is a medium severity (CVSS 6.3) unrestricted file upload in ruoyi-ai 2.0.0, in the speech to text upload function. A public exploit is noted in the record. Upgrade to version 2.0.1, which the project identifies as the fix, and check the upload folder.

What's affected

The record says ruoyi-ai 2.0.0 is affected and that upgrading to 2.0.1 addresses the issue. The vulnerable function is speechToTextTranscriptionsV2/upload in SseServiceImpl.java, in the ruoyi-system module. The patch commit is 4e93ac86d4891c59ecfcd27c051de9b3c5379315, and the project has a v2.0.1 release.

The CVSS vector shows a network attack that needs a low privilege account. The record states that the exploit has been disclosed to the public and may be used. It says nothing about active exploitation, and the CVE is not on the CISA Known Exploited Vulnerabilities list.

How to check if you're exposed

Check which version you deployed. If you build from source:

git -C /path/to/ruoyi-ai describe --tags
git -C /path/to/ruoyi-ai merge-base --is-ancestor 4e93ac86d4891c59ecfcd27c051de9b3c5379315 HEAD && echo "fix present"

The second command prints a message when your checkout includes the fix commit. For Docker deployments, check the image tag. Then look at the upload directory that the speech to text feature writes to. Review it for files with unexpected types or extensions, and confirm that the web server does not run anything from that directory.

What to do now

  1. Upgrade ruoyi-ai to 2.0.1 or later.
  2. Review the upload directory for unexpected files and remove any that should not be there.
  3. Make sure uploaded files cannot be served as executable content, and store them outside the web root.
  4. Limit who can reach the upload feature to authenticated users who need it.
  5. Add allow list checks on file type and size in any custom code that handles uploads.

Why it matters

The record lists CWE-434, unrestricted upload of a file of a dangerous type, and CWE-284, improper access control. The first is the core problem: the upload function did not check what kind of file it accepted. When uploaded files can end up somewhere the application or web server will run or serve them, an upload feature becomes a way to place content on the server.

The score is medium because the vector requires an authenticated account and the record rates the impact at low across confidentiality, integrity and availability. Do not let the label make you slow. Upload flaws often matter more than their base score once they combine with weak storage settings.

Quick check

Which version fixes it?

ruoyi-ai 2.0.1, according to the record. The fix commit is 4e93ac86d4891c59ecfcd27c051de9b3c5379315.

Is it exploited in the wild?

The record says an exploit has been disclosed publicly. It does not report exploitation, and the CVE is not marked as known exploited.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.