Description
Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2, Windows Server 2008 Gold and SP2, and Windows 7 RC allows remote attackers to execute arbitrary code or cause a denial of service (system crash) via an & (ampersand) character in a Process ID High header field in a NEGOTIATE PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location, aka "SMBv2 Negotiation Vulnerability." NOTE: some of these details are obtained from third party information.
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Metasploit 3 modules
-
Microsoft SRV2.SYS SMB2 Logoff Remote Kernel NULL Pointer Dereference
auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff
-
MS09-050 Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference
exploit/windows/smb/ms09_050_smb2_negotiate_func_index
-
Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference
auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh
Exploit-DB 6
- Microsoft Windows - 'srv2.sys' SMB Code Execution (Python) (MS09-050) EDB-40280 · remote · Feb 26, 2016
- Microsoft Windows - 'srv2.sys' SMB Negotiate ProcessID Function Table Dereference (MS09-050) EDB-14674 · remote · Aug 17, 2010
- Microsoft Windows - 'srv2.sys' SMB Negotiate ProcessID Function Table Dereference (MS09-050) (Metasploit) EDB-16363 · remote · Jul 3, 2010 · verified
- Microsoft Windows - SMB2 Negotiate Protocol '0x72' Response Denial of Service EDB-12524 · dos · May 7, 2010 · verified
- Microsoft Windows 7/2008 R2 - Remote Kernel Crash EDB-10005 · dos · Nov 11, 2009 · verified
- Microsoft Windows Vista/7 - SMB2.0 Negotiate Protocol Request Remote Blue Screen of Death (MS07-063) EDB-9594 · dos · Sep 9, 2009 · verified
GitHub 6 repositories
-
Sic4rio/CVE-2009-3103---srv2.sys-SMB-Code-Execution-Python-MS09-050- ★ 4 · Dec 20, 2023
Microsoft Windows - 'srv2.sys' SMB Code Execution (Python) (MS09-050)
-
sooklalad/ms09050 ★ 1 · Jan 17, 2017
cve-2009-3103
-
bytejmp/MS09-050 ★ 0 · Sep 18, 2026
MS09-050 (CVE-2009-3103) SMBv2 srv2.sys buffer overflow exploit with built-in scanner, arch auto-detection, and standalone reverse shell payloads for x86/x64. No Metasploit required.
-
afifudinmtop/CVE-2009-3103 ★ 0 · Jan 26, 2026
-
nicolasdamians/ms09-050-CVE-2009-3103-exploit ★ 0 · Dec 21, 2025
-
sec13b/ms09-050_CVE-2009-3103 ★ 0 · Oct 29, 2023
CVE-2009-3103 ms09-050
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
References
- 36299 vdb-entry
- VU#135940 third-party-advisory
- http://www.microsoft.com/technet/security/advisory/975497.mspx
- http://www.reversemode.com/index.php?option=com_content&task=view&id=64&Itemid=1
- http://blog.48bits.com/?p=510
- MS09-050 vendor-advisory
- TA09-286A third-party-advisory
- http://isc.sans.org/diary.html?storyid=7093
- 36623 third-party-advisory
- http://g-laurent.blogspot.com/2009/09/windows-vista7-smb20-negotiate-protocol.html
- 1022848 vdb-entry
- 20090909 SMB SRV2.SYS Denial of Service PoC mailing-list
- 9594 exploit
- 20090907 Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. mailing-list
- 57799 vdb-entry
- win-srv2sys-code-execution(53090) vdb-entry
- 20090908 Regarding Microsoft srv2.sys SMB2.0 NEGOTIATE BSOD mailing-list
- oval:org.mitre.oval:def:6489 vdb-entry signature