Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Editor role
-
DeliverySubmit crafted HTML to editor/editor save action
-
ExploitTraverse out of theme dir via data-v-save-global filename
-
ExecutionWrite PHP into web-accessible file
-
PersistRequest trampoline to execute webshell
-
ImpactPersistent RCE in web server context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account holding the 'editor/*' permission - which the DEFAULT Editor role granted in versions 1.0.0 through pre-1.0.8.5, so a stock low-privileged Editor suffices. Exploitation targets saveGlobalElements() via module=editor/editor&action=save using the data-v-save-global filename field to path-traverse out of the active theme directory to a writable PHP file. Full RCE additionally requires the traversal target to be web-accessible (the shipped public/vadmin/index.php can serve as the execution trampoline); a target that is writable but not web-served yields file tampering without direct execution. Limiting factors: authentication is required (PR:L, not unauthenticated), and deployments that already removed 'editor/*' from the Editor role or upgraded to 1.0.8.5 (where the filename is sanitized) are not exposed. |
| Impact | This is a genuine high-priority finding. The vendor CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 8.8) is consistent with the description: a network-reachable admin action reachable by a low-privileged authenticated user (PR:L) with no user interaction, chaining a path traversal into arbitrary PHP write and execution. The severity is credible because the write primitive lands editor-controlled PHP into a web-accessible location and the description names a shipped trampoline entrypoint (public/vadmin/index.php), so exploitation does not depend on a test-only artifact. Tempering the raw score: it requires an authenticated Editor account, and the fix ALSO removed 'editor/*' from the default Editor role permission set - meaning the pre-patch default did grant the needed permission, but any hardened deployment that already restricted the Editor role would not be exposed. No EPSS score, no CISA KEV entry, and no public POC are present in the provided data, so per precision rules this is 'no public exploit identified at time of analysis' - however, the fix commit is public and the mechanism (sanitizeFileName() on the decoded filename) reveals the exploitable path, lowering the bar to weaponize. Net: real, patchable priority for any Vvveb operator, but not evidence of active mass exploitation. |
| Exploit ScenarioDerived | An attacker holding (or phishing) a default Editor account logs into the Vvveb admin, opens the page builder, and submits crafted HTML to module=editor/editor&action=save whose data-v-save-global filename portion uses ../ sequences to escape the active theme directory and target a writable, web-accessible PHP file such as the public/vadmin/index.php trampoline. saveGlobalElements() decodes and concatenates that path, then loadHTMLFile()/file_put_contents() write attacker PHP into it, yielding a persistent webshell executing in the web server context. No public POC is identified, but the public fix commit reveals the vulnerable filename-handling path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Path traversal in Vvveb CMS 1.0.0 through 1.0.8.4 lets an authenticated user holding the default Editor role's editor/* permission write attacker-controlled PHP content into arbitrary writable files outside the active theme directory, escalating to remote code execution when the traversal target is web-accessible. Exploitation is authenticated (CVSS PR:L) but low-privilege, since the stock Editor role shipped in affected versions grants editor/* by default; no public exploit code has been identified at time of analysis and the issue is not in CISA KEV. The vulnerability is fixed in version 1.0.8.5, which sanitizes the attacker-controlled filename and drops editor/* from the default Editor role.
RemediationAI
Upgrade to Vvveb 1.0.8.5, the vendor-released patch that introduces Vvveb\sanitizeFileName() around the data-v-save-global filename in admin/controller/editor/global-trait.php and removes editor/* from the default Editor role; the release is at https://github.com/givanz/Vvveb/releases/tag/1.0.8.5 and the code change at https://github.com/givanz/Vvveb/commit/c8fef41ad8651d348050c513451755ab8882b97e, with details in advisory GHSA-c3v9-3xrq-pvqv. If immediate upgrade is not possible, apply the backported sanitization (or equivalent basename/realpath containment check) to the $file variable before loadHTMLFile() and file_put_contents(), and as an interim compensating control revoke the editor/* permission from the Editor role and any custom roles that do not require it - noting this disables page-builder editing for those users until the patch lands. Additionally, remove or restrict web access to non-theme writable PHP files such as the shipped public/vadmin/index.php trampoline (e.g., require authentication or block direct HTTP access), accepting the trade-off that vadmin entrypoint functionality may be affected, and run the PHP process with a user whose write permissions are confined to the theme and upload directories so traversal targets cannot be created or modified. Deployments that cannot patch should also audit theme and web root directories for unauthorized PHP files as a detection measure.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a classic CWE-22 path traversal reachable through the admin editor controller. In admin/controller/editor/global-trait.php, saveGlobalElements() reads the file portion of the attacker-supplied data-v-save-global attribute and, without normalization, concatenates it onto the active theme directory path; that composed path is then handed to DOMDocument::loadHTMLFile() and file_put_contents() (and to the replaceChild import logic for external nodes). Because no sanitization was applied until 1.0.8.5, sequences such as ../ can escape the theme directory and point at any file writable by the PHP process. The fix adds a Vvveb\sanitizeFileName() call wrapping html_entity_decode($file), constraining the value to a safe filename before filesystem operations. The attack surface is the editor module endpoint (index.php?module=editor/editor&action=save), which the default Editor role is permitted to reach via editor/*; the code change set also revises install/sql/insert/admin/role.sql to remove editor/* from the default Editor permission set, reducing the reachable attack surface for fresh installs. A shipped public/vadmin/index.php entrypoint provides a convenient execution trampoline, meaning the attacker does not need to find a pre-existing test-only script to convert file-write into code execution.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable admin action needs only a default Editor account (PR:L) and no interaction; path traversal to writable web-served PHP yields code execution, so C/I/A all High.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. From 1.0.0 until 1.0.8.5, saveGlobalElements() in admin/controller/editor/global-trait.php concatenates the attacker-controlled file portion of data-v-save-global to the active theme directory before loadHTMLFile() and file_put_contents() operate on it. An authenticated user with the default Editor role and editor/* permission can submit crafted HTML to module=editor/editor&action=save and traverse to an existing writable PHP file outside the theme directory. If the target is web-accessible, editor-controlled PHP content executes in the web server context; a shipped public/vadmin/index.php entrypoint can be used as an execution trampoline rather than requiring a test-only file. This can permit persistent webshell placement and compromise application confidentiality, integrity, and availability. This issue is fixed in version 1.0.8.5.
Technical POC Analysis
CWE-22 (path traversal), with CWE-94 code injection as the consequence.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Vvveb CMS versions 1.0.0 through 1.0.8.4 contain a high-severity path traversal vulnerability that allows an authenticated user with the default Editor role to write malicious PHP files to arbitrary locations, potentially achieving remote code execution on the web server. This could lead to full compromise of the CMS and underlying infrastructure, affecting data confidentiality, integrity, and availability. No public exploit identified at time of analysis, but the default role configuration grants the necessary permissions broadly, making the risk significant for organizations using affected versions.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-82570
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB