[+] 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 //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