CVE-2023-25573

8.6 HIGH

📋 TL;DR

This vulnerability allows any user to download any file from the MeterSphere testing platform without authentication. It affects all MeterSphere users running vulnerable versions, potentially exposing sensitive files accessible to the running process. The issue stems from improper access control in the /api/jmeter/download/files endpoint.

💻 Affected Systems

Products:
  • MeterSphere
Versions: All versions before 1.20.20 LTS and 2.7.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all MeterSphere deployments with the vulnerable endpoint accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could download sensitive configuration files, credentials, test data, or any other files accessible to the MeterSphere process, leading to complete system compromise.

🟠

Likely Case

Unauthenticated users accessing the platform could download test files, configuration data, and potentially sensitive information stored in accessible directories.

🟢

If Mitigated

With proper authentication and access controls, only authorized users could access files through the intended download functionality.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The vulnerability requires no authentication and can be exploited with simple HTTP requests to the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.20.20 LTS or 2.7.1

Vendor Advisory: https://github.com/metersphere/metersphere/security/advisories/GHSA-mcwr-j9vm-5g8h

Restart Required: Yes

Instructions:

1. Backup your current MeterSphere installation and data. 2. Download the patched version (1.20.20 LTS or 2.7.1) from the official repository. 3. Follow the upgrade instructions in the MeterSphere documentation. 4. Restart the MeterSphere service.

🔧 Temporary Workarounds

Network Access Restriction

all

Restrict network access to the MeterSphere instance to trusted networks only

Web Server Configuration

linux

Configure web server (nginx/apache) to block access to /api/jmeter/download/files endpoint

location /api/jmeter/download/files { deny all; }

🧯 If You Can't Patch

  • Implement strict network segmentation and firewall rules to limit access to MeterSphere
  • Deploy a web application firewall (WAF) with rules to block unauthorized file download attempts

🔍 How to Verify

Check if Vulnerable:

Attempt to access http://[metersphere-host]/api/jmeter/download/files without authentication. If files can be downloaded, the system is vulnerable.

Check Version:

Check the MeterSphere web interface dashboard or run: docker exec metersphere cat /opt/metersphere/version.txt

Verify Fix Applied:

After patching, attempt the same unauthenticated access. The endpoint should now require proper authentication.

📡 Detection & Monitoring

Log Indicators:

  • Multiple unauthenticated requests to /api/jmeter/download/files
  • Unusual file download patterns from unauthenticated IPs

Network Indicators:

  • HTTP GET requests to /api/jmeter/download/files without authentication headers
  • Unusual outbound file transfers from MeterSphere server

SIEM Query:

source="metersphere" AND (uri_path="/api/jmeter/download/files" AND NOT auth_token=*)

🔗 References

📤 Share & Export