CVE-2026-49225: Vvveb product revision authorization bypass allows Vendors to read, restore, or delete other Vendors' product revisions
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. Prior to 1.0.8.4, Vvveb backend product revision operations allow a low-privileged Vendor to access revisions for products owned by another Vendor. The admin/controller/product/revisions.php route reuses admin/controller/content/revisions.php, while admin/sql/sqlite/productcontentrevision.sql trusts caller-controlled productid, languageid, and createdat values without applying the current adminid to revision reads, restores, and deletes. An attacker can read historic product content, restore a revision over another Vendor's live product content, or delete revision records, exposing private copy, corrupting product pages, and removing audit history. This issue is fixed in version 1.0.8.4.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Vvveb CMS (product revision authorization bypass)to a version that resolves this vulnerability.Fixed in 1.0.8.4
Event History
Frequently Asked Questions
Which users are realistically able to exploit this issue?
Vendor accounts are exposed because the affected backend revision operations do not enforce ownership using the current admin_id. A low-privileged Vendor can target revisions belonging to another Vendor.
What does an attacker need to exploit it?
An attacker needs authenticated low-privileged Vendor access and the ability to supply product_id, language_id, and created_at values to the product revision operations. No user interaction is required.
Which versions should be remediated?
Affected instances are Vvveb versions before 1.0.8.4. Upgrade to version 1.0.8.4 to obtain the fix.
How can I investigate whether this has already been exploited?
Review product revision read, restore, and delete activity for cross-Vendor access, especially where requests reference product_id, language_id, or created_at values associated with products not owned by the requesting Vendor. Unauthorized restores may have overwritten live product content, and unauthorized deletions may have removed revision audit history.