CVE-2025-3199

7.3 HIGH

📋 TL;DR

This CVE describes an improper authorization vulnerability in the ruoyi-ai software up to version 2.0.1. Attackers can remotely exploit this flaw to access API interfaces without proper authentication, potentially leading to unauthorized data access or system manipulation. Organizations using ruoyi-ai versions 2.0.1 or earlier are affected.

💻 Affected Systems

Products:
  • ageerle ruoyi-ai
Versions: up to 2.0.1
Operating Systems: All platforms running Java
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the API interface component specifically in SysModelController.java. Any deployment with the vulnerable code is affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to access, modify, or delete sensitive data, execute arbitrary commands, or take full control of the application.

🟠

Likely Case

Unauthorized access to sensitive API endpoints leading to data exfiltration, privilege escalation, or manipulation of system configurations.

🟢

If Mitigated

Limited impact with proper network segmentation, API gateway controls, and monitoring in place to detect and block unauthorized access attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit details are publicly disclosed in GitHub repositories. The vulnerability allows remote exploitation without authentication, making it easy to weaponize.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.2

Vendor Advisory: https://github.com/ageerle/ruoyi-ai/releases/tag/v2.0.2

Restart Required: Yes

Instructions:

1. Backup current installation. 2. Download version 2.0.2 from the official GitHub releases. 3. Replace the vulnerable SysModelController.java file with the patched version. 4. Restart the application server. 5. Verify the patch commit c0daf641fb25b244591b7a6c3affa35c69d321fe is applied.

🔧 Temporary Workarounds

Network Access Control

all

Restrict network access to the ruoyi-ai API endpoints using firewall rules or API gateway.

Authentication Proxy

all

Place the application behind a reverse proxy that enforces authentication before requests reach the vulnerable endpoint.

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the vulnerable system from untrusted networks.
  • Deploy a Web Application Firewall (WAF) with rules to detect and block unauthorized API access patterns.

🔍 How to Verify

Check if Vulnerable:

Check the version of ruoyi-ai. If it's 2.0.1 or earlier, examine the SysModelController.java file for missing authorization checks.

Check Version:

Check the application's version configuration file or build properties, typically in pom.xml for Maven projects or build.gradle for Gradle.

Verify Fix Applied:

Verify the application version is 2.0.2 or later, and confirm the patch commit c0daf641fb25b244591b7a6c3affa35c69d321fe is present in the codebase.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to /system/model/* endpoints
  • HTTP 403 errors followed by successful 200 responses from the same IP

Network Indicators:

  • Unusual API request patterns to model-related endpoints
  • Requests bypassing authentication headers

SIEM Query:

source="ruoyi-ai" AND (uri="/system/model/*" AND NOT auth_token=*)

🔗 References

📤 Share & Export