Skip to main content

Vvveb CMS EUVDEUVD-2026-82571

| CVE-2026-54506 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-17 security-advisories@github.com
7.6
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain Author-role account
  2. Delivery
    Submit crafted on*/nested-tag payload in bio
  3. Exploit
    Payload survives sanitizeHTML single-pass filter
  4. Install
    Stored and served on /author/{username} or admin view
  5. C2
    Victim browser renders unescaped markup
  6. Execute
    Attacker JS executes in victim session
  7. Impact
    Session theft, account actions, or defacement

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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 with Author role or higher on the Vvveb instance (PR:L) to write the malicious bio, and a victim must subsequently view the rendered bio on /author/{username}, the admin user-management view, or possibly a comment display (UI:R). Exploitation depends on the vulnerable single-pass sanitizeHTML() in versions prior to 1.0.8.5; upgrading to 1.0.8.5 fully removes the flaw. The stored payload uses solidus-prefixed event-handler markup or nested forbidden tags specifically crafted to defeat the mis-delimited regex and the non-iterating do-while loop. Limiting factors: the Author-role trust barrier and the need for a victim to load attacker-controlled content mean this is not exploitable by fully unauthenticated attackers against untouched pages.

Impact

This is a stored (persistent) cross-site scripting flaw (CWE-79) in the Vvveb CMS user-profile bio field. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N, 7.6 High) is internally consistent with the description: network-reachable, low complexity, requires an authenticated Author-or-higher account (PR:L), depends on a victim viewing the poisoned page (UI:R), and crosses a scope boundary into victim browser sessions (S:C) yielding session-data theft (C:H) and limited integrity impact via victim-context actions (I:L). No EPSS score, SSVC decision data, KEV listing, or POC was provided in the intelligence set, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The real-world priority is moderated by two gates that CVSS partially reflects: the attacker must already hold an Author role (a meaningful trust barrier in most deployments), and a victim must render the stored bio. However, the root cause is precisely documented and confirmed by the fix commit (a regex missing the '/' delimiter plus a broken do-while condition comparing the string to itself, $string !== $string), which makes the bypass easy to reproduce for anyone who reads the patch - effectively lowering the barrier to weaponization even absent a published POC. Net: a genuine, patch-worthy stored-XSS with authenticated precondition, not an internet-wide unauthenticated emergency.

Exploit ScenarioDerived

An attacker who has (or registers/obtains) an Author-role account submits a profile bio containing solidus-prefixed event-handler markup (e.g. an on* handler after a '/') or nested forbidden tags that slip past the single-pass, mis-delimited sanitizeHTML() filter. When an unauthenticated visitor, another user, or an administrator later views /author/{username}, the admin user-management view, or a comment display, the attacker's JavaScript executes in the victim's session context. No public exploit was provided, but the fix commit discloses the exact sanitizer defects, making the payload straightforward to construct.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 17, 2026

Stored cross-site scripting in Vvveb CMS prior to 1.0.8.5 allows an authenticated user with Author-level privileges or higher to inject JavaScript via the profile bio field, which is then executed in the browsers of administrators and unauthenticated visitors who view the affected pages. The flaw stems from an incomplete sanitizeHTML() function that fails to strip solidus-prefixed event handlers and nested forbidden tags. No public exploit code or active exploitation has been identified at time of analysis, and upgrading to 1.0.8.5 removes the vulnerability.

RemediationAI

Vendor-released patch: upgrade to Vvveb CMS 1.0.8.5, which corrects the sanitizeHTML() regex to include the forward slash and fixes the do-while loop to properly compare old and new strings. The fixing commit is 20a01ef08559ffdc97205edeecde86c8ea27e567. If immediate upgrade is not possible, apply the commit patch manually to system/functions.php and app/controller/user/profile.php. As an interim mitigation, restrict the Author role to fully trusted users, as exploitation requires an authenticated account with Author-level privileges or higher. Additionally, consider implementing output encoding or a web application firewall rule to block solidus-prefixed event-handler payloads (e.g., <svg/onload>), though WAFs may cause false positives with legitimate content. Administrators should review existing user bios for suspicious markup and may temporarily disable bio editing if the risk is deemed high. Note that these compensating controls do not fully eliminate the vulnerability.

Affected VersionsENISA

Vvveb < 1.0.8.5

Affected Packages

euvd vvveb fix: 1.0.8.5

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 vulnerability resides in Vvveb CMS's sanitization logic within system/functions.php and its use in app/controller/user/profile.php. The sanitizeHTML() function uses a regular expression to strip on* event handlers, but the delimiter character class omits the forward slash (/), as shown in the fix that adds / to the pattern. This allows payloads like <svg/onload=...> to bypass filtering. Additionally, a do-while loop intended to iteratively remove forbidden tags compares the string to itself ($string !== $string), so it always terminates after one pass, leaving nested tags intact. An authenticated user with Author role or higher can craft a bio containing such markup; the stored bio is rendered without sufficient output encoding on /author/{username}, in the admin user-management view, and potentially in comment displays, leading to execution of attacker-controlled JavaScript in victims' browsers. The issue is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation).

Know when Vvveb 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

Vendor (github) PRIMARY 7.6 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
vuln.today AI 7.6 HIGH

Authenticated Author account (PR:L) stores XSS that fires in a victim's browser (UI:R, S:C), stealing session data (C:H) and enabling limited victim-context actions (I:L), no availability impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:H/SI:L/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Sep 17, 2026 - 23:04 EUVD
CVE Published
Sep 17, 2026 - 22:17 cve.org
HIGH 7.6

DescriptionCVE.org

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.

Technical POC Analysis

Stored XSS (CWE-79, additionally tagged CWE-116 and CWE-185).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Vvveb CMS deployments running versions prior to 1.0.8.5 are exposed to a stored cross-site scripting flaw in the profile bio field, where injected JavaScript is stored on the server and later executed in the browsers of site administrators and public visitors who view the affected pages. Because the malicious script runs inside privileged administrator sessions, successful abuse can lead to administrator account takeover and, in turn, full control over the website, its content, and any data it handles. Leadership should care because the CMS is typically internet-facing and its compromise would directly damage customer trust, expose visitor data, and create regulatory and reputational exposure.

Business Impact: High
Compensating Controls

Apply vendor patch: upgrade to Vvveb CMS 1.0.8.5, which the advisory identifies as removing the vulnerability; note that the vendor-tracked patch field still records no patch, so confirm availability directly with the vendor before depending on it. Until the upgrade is complete, restrict content-authoring privileges to the minimum necessary trusted accounts, strip or review existing profile bio content for injected script, deploy content security policy and web application firewall filtering against inline script execution on CMS pages, and invalidate administrator sessions to interrupt any payload already stored.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche open-source PHP CMS/page builder, limited production footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Vvveb

View all
CVE-2025-44022 CRITICAL POC
9.8 May 12

An issue in vvveb CMS v.1.0.6 allows a remote attacker to execute arbitrary code via the Plugin mechanism. Rated critica

CVE-2025-8518 LOW POC
2.0 Aug 04

A vulnerability was found in givanz Vvveb 1.0.5. Rated medium severity (CVSS 5.1), this vulnerability is remotely exploi

CVE-2024-29272 MEDIUM POC
6.5 Mar 22

Arbitrary File Upload vulnerability in VvvebJs before version 1.7.5, allows unauthenticated remote attackers to execute

CVE-2024-29271 MEDIUM POC
6.1 Mar 22

Reflected Cross-Site Scripting (XSS) vulnerability in VvvebJs before version 1.7.7, allows remote attackers to execute a

CVE-2025-11028 MEDIUM POC
5.5 Sep 26

A security flaw has been discovered in givanz Vvveb up to 1.0.7.2. Rated medium severity (CVSS 5.5), this vulnerability

CVE-2025-9728 MEDIUM POC
5.3 Aug 31

A security vulnerability has been detected in givanz Vvveb 1.0.7.2. Rated medium severity (CVSS 5.3), this vulnerability

CVE-2026-6257 CRITICAL
9.2 Apr 20

Remote code execution in Vvveb CMS v1.0.8 allows authenticated administrators to execute arbitrary system commands as ww

CVE-2026-39918 CRITICAL
9.2 Apr 20

Remote code execution in Vvveb CMS versions prior to 1.0.8.1 allows unauthenticated attackers to inject arbitrary PHP co

CVE-2026-41930 CRITICAL
9.2 May 06

Hard-coded credentials in Vvveb's Docker deployment expose the entire application database to unauthenticated remote att

CVE-2026-34429 MEDIUM POC
5.1 Apr 20

Stored cross-site scripting in Vvveb prior to 1.0.8.1 allows authenticated users with media upload and rename permission

CVE-2026-49228 HIGH
8.8 Aug 18

Insecure Direct Object Reference in Vvveb CMS prior to 1.0.8.4 allows any authenticated low-privileged Vendor to read, d

CVE-2026-49221 HIGH
8.8 Aug 18

Broken object-level authorization in Vvveb CMS prior to 1.0.8.4 allows an authenticated low-privilege Vendor to access,

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy