CVE-2026-13528
Received Received - Intake

Path Traversal in RuoYi-Vue-Pro File Upload Endpoint

Vulnerability report for CVE-2026-13528, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-29

Last updated on: 2026-06-29

Assigner: VulDB

Description

A vulnerability was found in YunaiV/zhijiantianya ruoyi-vue-pro up to 2026.04-jdk8-SNAPSHOT. The impacted element is the function generateUploadPath of the file yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java of the component AppFileController File Upload Endpoint. Performing a manipulation results in path traversal. Remote exploitation of the attack is possible. The exploit has been made public and could be used. The patch is named 4ae3f6b2c9883978837638c14e3d18419819eeb0. It is recommended to apply a patch to fix this issue. This product is published by multiple vendors.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-29
Last Modified
2026-06-29
Generated
2026-06-29
AI Q&A
2026-06-29
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
yunai ruoyi-vue-pro to 2026.04-jdk8-SNAPSHOT (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
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.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-13528 is a vulnerability in the ruoyi-vue-pro framework affecting the AppFileController component, specifically in the generateUploadPath function of the FileServiceImpl.java file. It involves a path traversal flaw combined with unauthenticated file uploads.

The vulnerability arises because the system allows remote attackers to upload files without any authentication due to the @PermitAll annotation, and it fails to properly sanitize or normalize user-provided directory paths. This enables attackers to use sequences like "../" to write files to arbitrary directories on the server.

This can lead to overwriting frontend static resources, enabling persistent cross-site scripting (XSS) attacks, or modifying project files, potentially altering application behavior.

Impact Analysis

This vulnerability can have several serious impacts:

  • Attackers can upload arbitrary files to the server without any authentication.
  • They can write files to any directory within the same disk partition by exploiting path traversal.
  • Frontend static resources can be overwritten, leading to persistent cross-site scripting (XSS) attacks.
  • Project files can be modified, potentially changing application behavior depending on deployment and configuration.
Detection Guidance

This vulnerability can be detected by checking for unauthenticated file upload attempts and path traversal payloads in requests to the AppFileController File Upload Endpoint.

Look for HTTP requests containing directory traversal sequences such as "../" or "..\" in the file path parameters.

You can monitor web server logs or use network traffic inspection tools to identify suspicious upload attempts without authentication.

  • Use grep or similar commands on server logs to find traversal patterns, e.g., `grep -E "\.\./|\.\.\\" /var/log/nginx/access.log`
  • Check for unauthenticated POST requests to the file upload endpoint, e.g., `grep 'POST /appfilecontroller/upload' /var/log/nginx/access.log | grep -v 'Authorization'`
  • Use tools like curl or Burp Suite to manually test the upload endpoint with traversal payloads to confirm vulnerability.
Mitigation Strategies

Immediate mitigation steps include removing the @PermitAll annotation from the AppFileController.uploadFile() method to enforce authentication.

Normalize and sanitize all user-provided file paths to prevent path traversal attacks.

Rewrite uploaded filenames to UUIDs to avoid overwriting important files.

Validate that file paths remain within the intended base directory before saving files.

As a longer-term solution, consider switching to object storage, implementing file type whitelists, and deploying Web Application Firewall (WAF) rules to block traversal payloads.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-13528. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart