CVE-2026-54506
HighCVSS 7.6Exploitation Probability (EPSS)
Low risk22th percentile - higher than 22% of all known CVEs
Summary
In Vvveb prior to 1.0.8.5, sanitizeHTML() has a flawed on* event-handler regex and a faulty loop condition, so forbidden nested tags are removed only once. A user with Author role or higher can store malicious JavaScript in the bio field that executes for other users.
Risk Assessment
An attacker can execute JavaScript in victims' browsers (visitors, administrators), enabling session data theft, victim-context account actions, defacement, or phishing. This poses a serious risk to user security.
Recommendation
Upgrade Vvveb to version 1.0.8.5 or later. Consider additional output encoding for bio fields and review existing user content.
Other vulnerabilities in Vvveb
See all- CVE-2026-112905Critical
In Vvveb prior to version 1.0.8.7, an authenticated IDOR on the admin/auth-token endpoint allows any administrator to read and overwrite another administrator's API tokens. The issue has been patched in version 1.0.8.7.
- CVE-2026-110799Critical
In Vvveb prior to version 1.0.8.7, the password reset functionality is vulnerable to an authentication bypass due to insufficient validation of the user and token GET parameters. The issue has been patched in version 1.0.8.7.
- CVE-2026-41930Critical
Vvveb before version 1.0.8.2 contains a hard-coded credentials vulnerability in its docker-compose-apache.yaml configuration that allows unauthenticated attackers to access the bundled phpMyAdmin container with pre-configured database credentials.
- CVE-2026-39918Critical
Vvveb prior to version 1.0.8.1 contains a code injection vulnerability in the installation endpoint where the subdir POST parameter is written unsanitized into the env.php configuration file. Attackers can inject arbitrary PHP code by breaking out of the string context in the define statement, leading to unauthenticated remote code execution as the web server user.
- CVE-2026-112904High
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. In versions 1.0.8.6 and prior, the nextRestore() and nextBackup() functions in the backup controller accept a file GET parameter and concatenate it directly to DIR_BACKUP without calling sanitizeFileName(). This allows an authenticated administrator to read arbitrary files on the server (via nextRestore) and write SQL dump content to arbitrary locations (via nextBackup).
- CVE-2026-55232High
Vvveb prior to version 1.0.8.6 contains an SSRF vulnerability because host validation only handles IPv4, not IPv6. An authenticated admin-panel user can exploit the oEmbed proxy to read internal services and cloud metadata, including IAM credentials.
- CVE-2026-55231High
Vvveb prior to version 1.0.8.6 has a flawed path sanitizer that allows an authenticated user with backup access to read and delete arbitrary files on the server. This can expose database credentials, read system files, and delete config/db.php to enable full site takeover.
- CVE-2026-55230High
Vvveb prior to version 1.0.8.6 has an HTML sanitizer that fails to strip event-handler attributes when a tag contains a greater-than character inside a quoted attribute value. A low-privilege content author can store malicious JavaScript that executes in browsers of visitors and administrators, potentially leading to admin account takeover.
- CVE-2026-54613Medium
In Vvveb prior to 1.0.8.5, getThemeFolder() returns the attacker-controlled theme parameter without sanitization, and backupFolder() concatenates it beneath DIR_THEMES before editor/revisions/load or editor/revisions/delete operates on a named .html file. sanitizeBackupFileName() strips traversal characters only from the separate file parameter and does not protect the theme directory component. An authenticated user with the default Editor role and editor/* permission can submit traversal sequences that redirect file_get_contents() or unlink() to a reachable backup subdirectory outside the web root.
- CVE-2026-54612High
In Vvveb CMS from 1.0.0 to 1.0.8.5, saveGlobalElements() concatenates the attacker-controlled file portion of data-v-save-global to the active theme directory, enabling path traversal. An authenticated user with the default Editor role can write arbitrary PHP content outside the theme directory, allowing persistent webshell placement.
Original NVD description (English source)
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. Prior to 1.0.8.5, app/controller/user/profile.php accepts the user[bio] field and passes stored content through sanitizeHTML() in system/functions.php, whose on* event-handler regular expression omits the forward-slash delimiter and whose do-while condition compares the string to itself, so forbidden nested tags are removed only once. An Author-role or higher user can submit solidus-prefixed event-handler markup or nested forbidden tags that survive sanitization. The stored bio is rendered without sufficient output encoding on /author/{username}, in the admin user-management view, and potentially in comment displays, causing attacker-controlled JavaScript to execute when unauthenticated visitors, administrators, or other users view the content. This can expose browser-session data and permit victim-context account actions, defacement, or phishing. This issue is fixed in version 1.0.8.5.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

