SMB Client Remote Code Execution (Feb 11, 2010)
Server Message Block (SMB, also known as Common Internet File System, CIFS) operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an authenticated inter-process communication mechanism. All versions of Microsoft Windows ship with an implementation of SMB.
The messages sent from a SMB client to a SMB server are normally named Commands, as the messages sent from the server to the client are named Responses. A Microsoft Windows SMB server listens on TCP ports 139 and 445. When a client wishes to engage in SMB communication with a server, the client will send an SMB NEGOTIATE Request message to the server and the server will respond with an SMB NEGOTIATE Response. An SMB NEGOTIATE Response message has the following structure:Offset | Size | Field |
——————————————————————————– | ||
0x0000 | BYTE | Word Count |
0x0001 | WORD | Dialect Index |
0x0003 | BYTE | Security Mode |
0x0004 | WORD | Max Mpx Count |
0x0006 | WORD | Max Number VCs |
0x0008 | DWORD | Max Buffer Size |
0x000C | DWORD | Max Raw Size |
0x0010 | DWORD | Session Key |
….(truncated) |
- 4791 MS Windows SMB Client Pool Corruption (MS10-006)