Junglewise Threat Intelligence

CVE-2024-29272: VvvebJs arbitrary file upload in save.php

CVE-2024-29272 · Severity: low · CVSS 3.1 · Published 2024-03-22

Technologies: VvvebJs.

Executive brief

VvvebJs is a web-based visual page builder and content management tool. The vulnerability allows unauthenticated attackers to upload malicious files (such as PHP web shells) to the server by bypassing filename validation checks, potentially leading to arbitrary code execution and unauthorized access to sensitive data.

Technical details

The vulnerability is a CWE-434 arbitrary file upload flaw in the save.php endpoint of VvvebJs before version 1.7.5. The sanitizeFileName() function is intended to restrict file extensions to .html and remove unsafe characters, but it fails to properly validate user input provided via the $_POST['file'] parameter. An unauthenticated attacker can craft a POST request with a malicious filename (e.g., containing directory traversal or polyglot PHP code) to bypass extension checks and upload executable files like PHP web shells to the server. No authentication is required, and the attack is exploitable directly over the network. Successful exploitation enables remote code execution under the webserver's privilege context, potentially leading to data exfiltration, privilege escalation, or further compromise of the hosting infrastructure. The vulnerability was patched in version 1.7.5.

Affected products

  • VvvebJs VvvebJs before 1.7.5

Timeline

  • 2024-03-22: disclosed: Published in GitHub Security Advisory GHSA-pmm3-68q9-57jg
  • 2024-03-22: patched: Fix released in version 1.7.5

References