WINCVS 2009R2 DLL Hijacking

2018-02-06T00:00:00
ID PACKETSTORM:146267
Type packetstorm
Reporter hyp3rlinx
Modified 2018-02-06T00:00:00

Description

                                        
                                            `[+] Credits: John Page (aka hyp3rlinx)   
[+] Website: hyp3rlinx.altervista.org  
[+] Source: http://hyp3rlinx.altervista.org/advisories/CVS-SUITE-2009R2-INSECURE-LIBRARY-LOADING-CVE-2018-6461.txt  
[+] ISR: Apparition Security   
  
  
Vendor:  
=============  
march-hare.com  
  
  
Product:  
===========  
WINCVS 2009R2  
  
CVS Suite is a modern versioning system that combines the power and stability of CVS with modern easy to use client software and support for  
Configuration Management best practice. As the newest major release of the worlds most popular versioning system, CVS Suite 2009R2 continues  
CVSNTs blazing pace of innovation with new features and usability enhacements.  
  
  
  
Vulnerability Type:  
===================  
Insecure Library Loading  
  
  
CVE Reference:  
==============  
CVE-2018-6461  
  
  
Security Issue:  
================  
Non privileged user can write files to "C:\ProgramData\March Hare\myrepo\CVSROOT" to gain authenticated access with the same privileges  
as the current logged on user, in addition they can run arbitrary code with same privileges as that of the victim.  
  
e.g.  
  
C:\ProgramData\March Hare\myrepo\CVSROOT>cacls * | more  
C:\ProgramData\March Hare\myrepo\CVSROOT\CVS Everyone:(OI)(CI)F  
NT AUTHORITY\SYSTEM:(OI)(CI)F  
  
  
WinCVS:  
Attackers can place a malicious DLLs in CVSROOT and wait for CVS user to run WINCVS, then when browse to a repository in CVSROOT and right click on  
CVSROOT or a CVSROOT file to 'Open in new instance' or Ctrl+F2 then the attackers DLL will execute.  
  
Attacker supplied DLL e.g. 'python31.dll' will execute if placed on victims desktop and user initially opens 'wicvs2.exe'.  
basically anywhere or repository we can place malicious DLL that they can browse to should work.  
  
WinMerge 2009 also vulnerable:  
If a WinMerge project file is opened from a remote share where specific attacker supplied DLLs have been placed it will load and execute it.  
  
vuln DLL(s):  
============  
tcl87.dll  
python30.dll  
python31.dll  
  
Basically anywhere or any repository we can place malicious DLL that they can browse to should work.  
  
  
References:  
============  
http://march-hare.com/cvspro/vulnwincvs.htm  
  
  
Exploit/POC:  
=============  
Create "python31.dll"   
  
#include<windows.h>  
  
//gcc -c python31.c  
//gcc -shared -o python31.dll python31.o  
  
BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved){  
switch (reason) {  
case DLL_PROCESS_ATTACH:  
MessageBox(NULL, "Done!", "hyp3rlinx", MB_OK);   
break;  
}  
  
return 0;  
}  
  
  
  
Network Access:  
===============  
Remote  
  
  
Severity:  
=========  
High  
  
  
Disclosure Timeline:  
=============================  
Vendor Notification: January 26, 2018  
Vendor acknowledgemen: January 27, 2018  
Vendor releases fix: February 2, 2018  
February 5, 2018 : Public Disclosure  
  
  
  
[+] Disclaimer  
The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.  
Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and  
that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit  
is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility  
for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information  
or exploits by the author or elsewhere. All content (c).  
  
hyp3rlinx  
`