Document Title: =============== VestaCP v0.9.8-26 - Session Validation Web Vulnerability Date: ===== 2020-11-25 References: =========== https://www.vulnerability-lab.com/get_content.php?id=2238 VL-ID: ===== 2238 Common Vulnerability Scoring System: ==================================== 7 Vulnerability Class: ==================== Insufficient Session Validation Introduction: ============= Web interface is open source php and javascript interface based on Vesta open API, it uses 381 vesta CLI calls. The GNU General Public Licence is a free, copyleft licence for software and other kinds of works. Its free to change, modify and redistribute source code. (Copy of the Homepage: https://vestacp.com/features/ & https://vestacp.com/install/ ) Abstract: ========= The vulnerability laboratory core research team discovered a insufficient session validation vulnerability in the VestaCP v0.9.8-26 hosting web-application. Affected Product(s): ==================== Vesta Product: VestaCP v0.9.8-26 - Hosting Control Panel (Web-Application) Report-Timeline: ================ 2020-05-04: Researcher Notification & Coordination (Security Researcher) 2020-05-05: Vendor Notification (Security Department) 2020-05-07: Vendor Response/Feedback (Security Department) 2020-**-**: Vendor Fix/Patch (Service Developer Team) 2020-**-**: Security Acknowledgements (Security Department) 2020-11-25: Public Disclosure (Vulnerability Laboratory) Status: ======== Published Exploitation-Technique: ======================= Remote Severity: ========= High Details: ======== An insufficient session validation vulnerability has been discovered in the official VestaCP (Control Panel) v0.9.8-26 hosting web-application. The vulnerability allows remote attackers to gain sensitive web-application data or information without permission, authentication or authorization. The backup url includes a token parameter for the download request on backups. The mechanism is to secure that other users can only download the backup with the token to confirm the permission. The token is not required for the download and can be deattached in the client-side session request. The session validation of the backup download request is insufficient validating the request without token parameter approval. Next to that the backup uses the name of the privileges in combination with the date in a tar compressed folder. Thus allows a remote attacker with low user privileges to download the backup data without permission. Successful exploitation of the session web vulnerability results in information disclosure of the local application and dbms backup files. Request Method(s): [+] GET Vulnerable Module(s): [+] /download/backup/ Vulnerable Parameter(s): [+] token Affected Parameter(s): [+] backup Proof of Concept: ================= The insufficient session validation vulnerability can be exploited by remote attackers with simple user privileges without user interaction. For security demonstration or to reproduce the information disclosure issue follow the provided information and steps below to continue. Request: Default (Download Backup) https://vestacp.localhost:8083/download/backup/?backup=user.2020-04-28_00-00-17.tar&token=d6f4a3a923ab5c60ef0a52995245a3d4 https://vestacp.localhost:8083/download/backup/?backup=admin.2020-04-28_00-00-17.tar&token=d6f4a3a923ab5c60ef0a52995245a3d4 PoC: Exploitation https://vestacp.localhost:8083/download/backup/?backup=[USER/ADMIN].[YYYY-MM-DD_HH-MM-SS].tar https://vestacp.localhost:8083/download/backup/?backup=user.2020-04-28_00-00-17.tar https://vestacp.localhost:8083/download/backup/?backup=admin.2020-04-28_00-00-17.tar PoC: Exploit VestaCP (Control Panel) v0.9.8-26 - Information Disclosure (Backup)