hiyouga LLaMA-Factory up to 0.9.3 Chat API chat.py path traversal
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.2 | $0-$5k | 0.00 |
Summary
A vulnerability described as critical has been identified in hiyouga LLaMA-Factory up to 0.9.3. Affected by this issue is some unknown functionality of the file src/llamafactory/api/chat.py of the component Chat API. The manipulation results in path traversal. This vulnerability is known as CVE-2025-61784. It is possible to launch the attack remotely. No exploit is available. Upgrading the affected component is recommended.
Details
A vulnerability was found in hiyouga LLaMA-Factory up to 0.9.3. It has been classified as critical. Affected is an unknown code block of the file src/llamafactory/api/chat.py of the component Chat API. The manipulation with an unknown input leads to a path traversal vulnerability. CWE is classifying the issue as CWE-22. The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
LLaMA-Factory is a tuning library for large language models. Prior to version 0.9.4, a Server-Side Request Forgery (SSRF) vulnerability in the chat API allows any authenticated user to force the server to make arbitrary HTTP requests to internal and external networks. This can lead to the exposure of sensitive internal services, reconnaissance of the internal network, or interaction with third-party services. The same mechanism also allows for a Local File Inclusion (LFI) vulnerability, enabling users to read arbitrary files from the server's filesystem. The vulnerability exists in the `_process_request` function within `src/llamafactory/api/chat.py.` This function is responsible for processing incoming multimodal content, including images, videos, and audio provided via URLs. The function checks if the provided URL is a base64 data URI or a local file path (`os.path.isfile`). If neither is true, it falls back to treating the URL as a web URI and makes a direct HTTP GET request using `requests.get(url, stream=True).raw` without any validation or sanitization of the URL. Version 0.9.4 fixes the underlying issue.
The advisory is available at github.com. This vulnerability is traded as CVE-2025-61784 since 09/30/2025. The exploitability is told to be easy. It is possible to launch the attack remotely. Technical details are known, but there is no available exploit. This vulnerability is assigned to T1006 by the MITRE ATT&CK project.
Upgrading to version 0.9.4 eliminates this vulnerability. Applying the patch 95b7188090a1018935c9dc072bfc97f24f1c96e9 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at EUVD (EUVD-2025-32903). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Product
Vendor
Name
Version
License
Website
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.3VulDB Meta Temp Score: 7.2
VulDB Base Score: 6.3
VulDB Temp Score: 6.0
VulDB Vector: 🔒
VulDB Reliability: 🔍
NVD Base Score: 8.1
NVD Vector: 🔒
CNA Base Score: 7.6
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Path traversalCWE: CWE-22
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: LLaMA-Factory 0.9.4
Patch: 95b7188090a1018935c9dc072bfc97f24f1c96e9
Timeline
09/30/2025 CVE reserved10/07/2025 VulDB entry created
10/08/2025 Advisory disclosed
10/23/2025 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-527m-2xhr-j27g
Status: Confirmed
CVE: CVE-2025-61784 (🔒)
GCVE (CVE): GCVE-0-2025-61784
GCVE (VulDB): GCVE-100-327570
EUVD: 🔒
Entry
Created: 10/08/2025 00:30Updated: 10/23/2025 06:06
Changes: 10/08/2025 00:30 (68), 10/08/2025 14:31 (1), 10/23/2025 06:06 (11)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.