Skip to content
Heist/ feed
Back to feed
Medium

Vvveb: Path Traversal in Revision Backup Reader/Deleter via Unsanitized theme Parameter

Type: advisorySources: OSV

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, getThemeFolder() in admin/controller/editor/revisions.php 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. A valid admin session and CSRF token are required, the read is limited to .html files in backup directories, and deletion additionally requires filesystem write permission. This can disclose sensitive exported site content or remove backup data. This issue is fixed in version 1.0.8.5.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-54613
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 01:34 UTC · Revision 1

Source evidence

Vvveb: Path Traversal in Revision Backup Reader/Deleter via Unsanitized theme Parameter

core-osv · Original source

Published 17 Sept 2026, 21:45 UTC

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, getThemeFolder() in admin/controller/editor/revisions.php 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. A valid admin session and CSRF token are required, the read is limited to .html files in backup directories, and deletion additionally requires filesystem write permission. This can disclose sensitive exported site content or remove backup data. This issue is fixed in version 1.0.8.5.

osv:CVE-2026-54613
Complete source record
{
  "id": "98c2fee624af83dd5e54a66341c9d7e1c04485881506d928ec716f9a2671b695",
  "url": "https://osv.dev/vulnerability/CVE-2026-54613",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Vvveb: Path Traversal in Revision Backup Reader/Deleter via Unsanitized theme Parameter",
    "summary": "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, getThemeFolder() in admin/controller/editor/revisions.php 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. A valid admin session and CSRF token are required, the read is limited to .html files in backup directories, and deletion additionally requires filesystem write permission. This can disclose sensitive exported site content or remove backup data. This issue is fixed in version 1.0.8.5.",
    "evidence": "osv:CVE-2026-54613",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-54613",
      "aliases": [
        "CVE-2026-54613",
        "GHSA-gjxp-vrcw-69v8"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/givanz/vvveb",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "c8fef41ad8651d348050c513451755ab8882b97e"
                },
                {
                  "fixed": "1d76ad52402beeed623a7e386c6796126689a746"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.0.8.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1d76ad52402beeed623a7e386c6796126689a746"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c8fef41ad8651d348050c513451755ab8882b97e"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "1.0.8.5"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.0.8.4",
            "1.0.8.3",
            "1.0.8.2",
            "1.0.8.1",
            "1.0.8",
            "1.0.7.3",
            "1.0.7.2",
            "1.0.7.1",
            "1.0.7",
            "1.0.6",
            "1.0.5",
            "1.0.4",
            "1.0.3",
            "1.0.2",
            "1.0.1",
            "1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54613.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:48.802756159Z",
      "provider": "osv",
      "references": [
        "https://github.com/givanz/Vvveb/releases/tag/1.0.8.5",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54613.json",
        "https://github.com/givanz/Vvveb/security/advisories/GHSA-gjxp-vrcw-69v8",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-54613",
        "https://github.com/givanz/Vvveb/commit/1d76ad52402beeed623a7e386c6796126689a746"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54613.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-54613",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 517017,
  "published_at": "2026-09-17T21:45:32.239+00:00"
}