CVE-2026-54506 in Vvvebinfo

Summary

by MITRE • 09/18/2026

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.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 09/18/2026

Vvveb CMS versions prior to 1.0.8.5 contain a critical stored cross-site scripting vulnerability rooted in the application's input sanitization logic for user profile data. The specific flaw resides within the app/controller/user/profile.php endpoint, which accepts and processes the user bio field by passing it through a custom sanitizeHTML function located in system/functions.php. This sanitization routine is designed to strip potentially dangerous HTML tags and attributes that could facilitate script execution. However, the implementation of this sanitizer contains two distinct logical errors that allow malicious payloads to bypass security controls. First, the regular expression used for detecting event handlers such as onmouseover or onclick omits the forward-slash delimiter, which compromises its ability to correctly parse and match certain malformed HTML structures. Second, the do-while loop condition within the sanitization logic incorrectly compares a string variable to itself rather than checking against a modified version of that string during iteration. This logical error results in forbidden nested tags being removed only once per pass instead of iteratively until all dangerous constructs are eliminated, allowing deeply nested or obfuscated malicious code to survive the filtering process.

The operational impact of this vulnerability is significant because it allows an attacker with Author-level privileges or higher to inject persistent malicious JavaScript into user profiles. Once submitted, this stored payload is rendered without sufficient output encoding in multiple high-visibility areas of the application, including public-facing author pages at /author/{username}, administrative user management views, and potentially within comment sections displayed on various site locations. When an unauthenticated visitor, administrator, or another registered user loads a page containing the compromised bio content, their browser executes the attacker-controlled script in the context of the vulnerable domain. This execution environment grants the malicious code access to sensitive browser-session data such as cookies, local storage tokens, and session identifiers. Consequently, attackers can perform account takeover actions on behalf of victims, steal authentication credentials, or manipulate the user interface to facilitate phishing attacks against other site users.

From a classification perspective, this vulnerability aligns with CWE-79 Improper Neutralization of Input During Web Page Generation commonly known as Cross-site Scripting (XSS). The specific mechanism involving stored payloads and insufficient output encoding further maps to CWE-80 Persistent XSS. In terms of the MITRE ATT&CK framework, this exploit leverages techniques associated with Client-side Injection and potentially Credential Access if session tokens are harvested for lateral movement or account compromise within the CMS administrative interface. The persistence aspect classifies it under Taint Analysis failures where input validation is bypassed due to implementation flaws rather than missing controls entirely.

To mitigate this vulnerability, organizations running Vvveb CMS must immediately upgrade to version 1.0.8.5 or later where these sanitization logic errors have been corrected. The fix ensures that the regular expression properly delimits event handlers and that the iterative removal process correctly processes nested malicious tags until no dangerous content remains. Additionally, administrators should enforce strict output encoding on all dynamic user-generated content rendered in HTML contexts to provide a defense-in-depth layer against any potential future sanitization bypasses. Implementing Content Security Policy headers can also help mitigate the impact of successful XSS attempts by restricting script execution sources and preventing unauthorized data exfiltration from browser sessions.

Responsible

GitHub M

Reservation

06/15/2026

Disclosure

09/18/2026

Moderation

accepted

CPE

ready

EPSS

0.00313

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!