6.3 CVE-2025-6466
Local Execution Code Patch Exploit
A vulnerability was found in ageerle ruoyi-ai 2.0.0 and classified as critical. Affected by this issue is the function speechToTextTranscriptionsV2/upload of the file ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java. The manipulation of the argument File leads to unrestricted upload. The attack may be launched remotely. The exploit has been disclosed to the public and may be used. Upgrading to version 2.0.1 is able to address this issue. The patch is identified as 4e93ac86d4891c59ecfcd27c051de9b3c5379315. It is recommended to upgrade the affected component.
https://nvd.nist.gov/vuln/detail/CVE-2025-6466
Categories
CWE-284 : Improper Access Control
The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor. The terms "access control" and "authorization" are often used interchangeably, although many people have distinct definitions. The CWE usage of "access control" is intended as a general term for the various mechanisms that restrict which users can access which resources, and "authorization" is more narrowly defined. It is unlikely that there will be community consensus on the use of these terms. Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software. A form hosting website only checks the session authentication status for a single form, making it possible to bypass authentication when there are multiple forms Access-control setting in web-based document collaboration tool is not properly implemented by the code, which prevents listing hidden directories but does not prevent direct requests to files in those directories. Python-based HTTP library did not scope cookies to a particular domain such that "supercookies" could be sent to any domain on redirect Chain: Cloud computing virtualization platform does not require authentication for upload of a tar format file (CWE-306), then uses .. path traversal sequences (CWE-23) in the file to access unexpected files, as exploited in the wild per CISA KEV. IT management product does not perform authentication for some REST API requests, as exploited in the wild per CISA KEV. Firmware for a WiFi router uses a hard-coded password for a BusyBox shell, allowing bypass of authentication through the UART port Bluetooth speaker does not require authentication for the debug functionality on the UART port, allowing root shell access Default setting in workflow management product allows all API requests without authentication, as exploited in the wild per CISA KEV. Bulletin board applies restrictions on number of images during post creation, but does not enforce this on editing.
CWE-434 : Unrestricted Upload of File with Dangerous Type
The product allows the upload or transfer of dangerous file types that are automatically processed within its environment. This can be primary when there is no check for the file type at all. This can be resultant when use of double extensions (e.g. ".php.gif") bypasses a check. This can be resultant from client-side enforcement (CWE-602); some products will include web script in web clients to check the filename, without verifying on the server side. Used in vulnerability databases and elsewhere, but it is insufficiently precise. The phrase could be interpreted as the lack of restrictions on the size or number of uploaded files, which is a resource consumption issue. Generate a new, unique filename for an uploaded file instead of using the user-supplied filename, so that no external input is used at all.[REF-422] [REF-423] When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs. Consider storing the uploaded files outside of the web document root entirely. Then, use other mechanisms to deliver the files dynamically. [REF-423] Define a very limited set of allowable extensions and only generate filenames that end in these extensions. Consider the possibility of XSS (CWE-79) before allowing .html or .htm file types. Ensure that only one extension is used in the filename. Some web servers, including some versions of Apache, may process files based on inner extensions so that "filename.php.gif" is fed to the PHP interpreter.[REF-422] [REF-423] When running on a web server that supports case-insensitive filenames, perform case-insensitive evaluations of the extensions that are provided. For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server. Do not rely exclusively on sanity checks of file contents to ensure that the file is of the expected type and size. It may be possible for an attacker to hide code in some file segments that will still be executed by the server. For example, GIF images may contain a free-form comments field. Do not rely exclusively on the MIME content type or filename attribute when determining how to render a file. Validating the MIME content type and ensuring that it matches the extension is only a partial solution. Run your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations. PHP-based FAQ management app does not check the MIME type for uploaded images Web-based mail product stores ".shtml" attachments that could contain SSI PHP upload does not restrict file types upload and execution of .php file upload file with dangerous extension program does not restrict file types improper type checking of uploaded files Double "php" extension leaves an active php extension in the generated filename. ASP program allows upload of .asp files by bypassing client-side checks ASP file upload ASP file upload
References
134c704f-9b21-4f2e-91b3-4a467353bcc0 Exploit
https://github.com/ageerle/ruoyi-ai/issues/9#event-16775988438 Exploit Issue Tracking |
cna@vuldb.com Patch Exploit
https://github.com/ageerle/ruoyi-ai/commit/4e93ac86d4891c59ecfcd27c051de9b3c5... Patch |
https://github.com/ageerle/ruoyi-ai/issues/9 Exploit Issue Tracking |
https://github.com/ageerle/ruoyi-ai/issues/9#event-16775988438 Exploit Issue Tracking |
https://github.com/ageerle/ruoyi-ai/releases/tag/v2.0.1 Release Notes |
https://vuldb.com/?ctiid.313574 Permissions Required VDB Entry |
https://vuldb.com/?id.313574 Third Party Advisory VDB Entry |
https://vuldb.com/?submit.598365 Third Party Advisory VDB Entry |
CPE
cpe | start | end |
---|---|---|
Configuration 1 | ||
cpe:2.3:a:ageerle:ruoyi-ai:*:*:*:*:*:*:*:* | < 2.0.1 |
REMEDIATION
Patch
Url |
---|
https://github.com/ageerle/ruoyi-ai/commit/4e93ac86d4891c59ecfcd27c051de9b3c5... |
EXPLOITS
Exploit-db.com
id | description | date | |
---|---|---|---|
No known exploits |
POC Github
Url |
---|
No known exploits |
Other Nist (github, ...)
Url |
---|
https://github.com/ageerle/ruoyi-ai/issues/9#event-16775988438 |
https://github.com/ageerle/ruoyi-ai/issues/9 |
https://github.com/ageerle/ruoyi-ai/issues/9#event-16775988438 |
CAPEC
Common Attack Pattern Enumerations and Classifications
MITRE
Techniques
id | description |
---|---|
T1014 | Rootkit |
T1027.009 | Obfuscated Files or Information: Embedded Payloads |
T1037 | Boot or Logon Initialization Scripts |
T1080 | Taint shared content |
T1505.005 | Server Software Component: Terminal Services DLL |
T1542.003 | Pre-OS Boot:Bootkit |
T1543 | Create or Modify System Process |
T1543.001 | Create or Modify System Process: Launch Agent |
T1543.003 | Create or Modify System Process:Windows Service |
T1543.004 | Create or Modify System Process: Launch Daemon |
T1546.001 | Event Triggered Execution:Change Default File Association |
T1546.004 | Event Triggered Execution:.bash_profile and .bashrc |
T1546.008 | Event Triggered Execution: Accessibility Features |
T1546.016 | Event Triggered Execution: Installer Packages |
T1547 | Boot or Logon Autostart Execution |
T1547.006 | Boot or Logon Autostart Execution:Kernel Modules and Extensions |
T1553.004 | Subvert Trust Controls:Install Root Certificate |
T1556.006 | Modify Authentication Process: Multi-Factor Authentication |
T1562.001 | Impair Defenses: Disable or Modify Tools |
T1562.002 | Impair Defenses: Disable Windows Event Logging |
T1562.004 | Impair Defenses: Disable or Modify System Firewall |
T1562.007 | Impair Defenses: Disable or Modify Cloud Firewall |
T1562.008 | Impair Defenses: Disable Cloud Logs |
T1562.009 | Impair Defenses: Safe Mode Boot |
T1574.010 | Hijack Execution Flow: ServicesFile Permissions Weakness |
T1574.011 | Hijack Execution Flow:Service Registry Permissions Weakness |
© 2022 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. |
Mitigations
id | description |
---|---|
M1040 | On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent execution of potentially obfuscated scripts. |
M1024 | Ensure proper permissions are set for Registry hives to prevent users from modifying keys for logon scripts that may lead to persistence. |
M1022 | Protect shared folders by minimizing users who have write access. |
M1024 | Consider using Group Policy to configure and block modifications to Terminal Services parameters in the Registry. |
M1026 | Ensure proper permissions are in place to help prevent adversary access to privileged accounts necessary to install a bootkit. |
M1018 | Limit privileges of user accounts and groups so that only authorized administrators can interact with system-level process changes and service configurations. |
M1022 | Set group policies to restrict file permissions to the <code>~/launchagents</code> folder. |
M1018 | Limit privileges of user accounts and groups so that only authorized administrators can interact with service changes and service configurations. |
M1018 | Limit privileges of user accounts and remediate Privilege Escalation vectors so only authorized administrators can create new Launch Daemons. |
M1022 | Making these files immutable and only changeable by certain administrators will limit the ability for adversaries to easily create user level persistence. |
M1028 | To use this technique remotely, an adversary must use it in conjunction with RDP. Ensure that Network Level Authentication is enabled to force the remote desktop session to authenticate before the session is created and the login screen displayed. It is enabled by default on Windows Vista and later. |
M1018 | Use MDM to disable user's ability to install or approve kernel extensions, and ensure all approved kernel extensions are in alignment with policies specified in <code>com.apple.syspolicy.kernel-extension-policy</code>. |
M1054 | HTTP Public Key Pinning (HPKP) is one method to mitigate potential Adversary-in-the-Middle situations where and adversary uses a mis-issued or fraudulent certificate to intercept encrypted communications by enforcing use of an expected certificate. |
M1018 | Ensure that proper policies are implemented to dictate the secure enrollment and deactivation of MFA for user accounts. |
M1018 | Ensure proper user permissions are in place to prevent adversaries from disabling or interfering with security services. |
M1018 | Ensure proper user permissions are in place to prevent adversaries from disabling or interfering with logging. |
M1018 | Ensure proper user permissions are in place to prevent adversaries from disabling or modifying firewall settings. |
M1018 | Ensure least privilege principles are applied to Identity and Access Management (IAM) security policies. |
M1018 | Configure default account policy to enable logging. Manage policies to ensure only necessary users have permissions to make changes to logging policies. |
M1054 | Ensure that endpoint defenses run in safe mode. |
M1018 | Limit privileges of user accounts and groups so that only authorized administrators can interact with service changes and service binary target path locations. Deny execution from user directories such as file download directories and temp directories where able. |
M1024 | Ensure proper permissions are set for Registry hives to prevent users from modifying keys for system components that may lead to privilege escalation. |
© 2022 The MITRE Corporation. Esta obra se reproduce y distribuye con el permiso de The MITRE Corporation. |
Cybersecurity needs ?
Strengthen software security from the outset with our DevSecOps expertise
Integrate security right from the start of the software development cycle for more robust applications and greater customer confidence.
Our team of DevSecOps experts can help you secure your APIs, data pipelines, CI/CD chains, Docker containers and Kubernetes deployments.