Microsoft SMB Transaction Parsing RCE Vulnerability
🗓️ 06 Mar 2012 00:00:00Reported by Copyright (C) 2012 Greenbone AGType
openvas🔗 plugins.openvas.org👁 45 Views
| Reporter | Title | Published | Views | Family All 12 |
|---|---|---|---|---|
| Microsoft SMB Crafted Write Request Remote Code Execution (MS11-020; CVE-2011-0661) | 6 Apr 201100:00 | – | checkpoint_advisories | |
| CVE-2011-0661 | 13 Apr 201118:00 | – | cve | |
| CVE-2011-0661 | 13 Apr 201118:00 | – | cvelist | |
| CVE-2011-0661 | 13 Apr 201118:55 | – | nvd | |
| Microsoft Windows SMB Server Remote Code Execution Vulnerability (2508429) | 13 Apr 201100:00 | – | openvas | |
| Microsoft Windows SMB Server Remote Code Execution Vulnerability (2508429) | 13 Apr 201100:00 | – | openvas | |
| Design/Logic Flaw | 13 Apr 201118:55 | – | prion | |
| PT-2011-2538 · Microsoft · Windows Server 2003 +5 | 13 Apr 201100:00 | – | ptsecurity | |
| Microsoft Windows multiple security vulnerabilities | 17 Apr 201100:00 | – | securityvulns | |
| MS11-020: Vulnerability in SMB Server Could Allow Remote Code Execution (2508429) (remote check) | 20 Apr 201100:00 | – | nessus |
10
| Source | Link |
|---|---|
| docs | www.docs.microsoft.com/en-us/security-updates/securitybulletins/2011/ms11-020 |
| securitytracker | www.securitytracker.com/id |
| us-cert | www.us-cert.gov/cas/techalerts/TA11-102A.html |
| securityfocus | www.securityfocus.com/bid/47198 |
# SPDX-FileCopyrightText: 2012 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.0.902660");
script_version("2026-04-28T06:28:06+0000");
script_cve_id("CVE-2011-0661");
script_tag(name:"last_modification", value:"2026-04-28 06:28:06 +0000 (Tue, 28 Apr 2026)");
script_tag(name:"creation_date", value:"2012-03-06 11:57:33 +0530 (Tue, 06 Mar 2012)");
script_tag(name:"cvss_base", value:"10.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:C/I:C/A:C");
script_name("Microsoft SMB Transaction Parsing RCE Vulnerability");
script_category(ACT_ATTACK);
script_copyright("Copyright (C) 2012 Greenbone AG");
script_family("Windows : Microsoft Bulletins");
script_dependencies("secpod_ms_smb_accessible_shares.nasl", "os_detection.nasl", "smb_nativelanman.nasl", "netbios_name_get.nasl");
script_mandatory_keys("SMB/Accessible_Shares", "Host/runs_windows");
script_require_ports(139, 445);
script_exclude_keys("SMB/samba");
script_xref(name:"URL", value:"http://www.securitytracker.com/id?1025329");
script_xref(name:"URL", value:"http://www.securityfocus.com/bid/47198");
script_xref(name:"URL", value:"http://www.us-cert.gov/cas/techalerts/TA11-102A.html");
script_xref(name:"URL", value:"https://docs.microsoft.com/en-us/security-updates/securitybulletins/2011/ms11-020");
script_tag(name:"impact", value:"Successful exploitation could allow remote attackers to execute arbitrary
code on the system.");
script_tag(name:"affected", value:"- Microsoft Windows 7 SP1 and prior
- Microsoft Windows 2008 SP2 and prior
- Microsoft Windows Vista SP2 and prior
- Microsoft Windows 2008 R2 SP1 and prior
- Microsoft Windows XP Service Pack 3 and prior
- Microsoft Windows 2003 Service Pack 2 and prior");
script_tag(name:"insight", value:"The flaw is due to improper validation of field in SMB request,
which allows remote attackers to execute arbitrary code on the system by
sending a malformed SMB request.");
script_tag(name:"solution", value:"The vendor has released updates. Please see the references for more information.");
script_tag(name:"summary", value:"This host is missing a critical security update according to
Microsoft Bulletin MS11-020.");
script_tag(name:"qod_type", value:"remote_app");
script_tag(name:"solution_type", value:"VendorFix");
script_xref(name:"URL", value:"https://docs.microsoft.com/en-us/security-updates/securitybulletins/2011/ms11-020");
exit(0);
}
include("smb_nt.inc");
include("host_details.inc");
if( kb_smb_is_samba() ) exit( 0 );
name = kb_smb_name();
domain = kb_smb_domain();
port = kb_smb_transport();
login = kb_smb_login();
pass = kb_smb_password();
soc1 = open_sock_tcp(port);
if(!soc1){
exit(0);
}
if(!login)login = "anonymous";
if(!pass) pass = "";
shares = get_kb_list("SMB/Accessible_Shares");
if (isnull(shares))
{
close(soc1);
exit(0);
}
prot = smb_neg_prot(soc:soc1);
if(!prot){
close(soc1);
exit(0);
}
if(strlen(prot) < 5 ) {
exit(0);
}
##Currently Only SMB1 is supported, For SMB2 ord(prot[4]) == 254
if(ord(prot[4]) == 254)
{
close(soc1);
soc1 = open_sock_tcp(port);
if(!soc1){
exit(0);
}
r = smb_session_request(soc:soc1, remote:name);
if(!r) { close(soc1); exit(0); }
prot = smb_neg_prot_NTLMv1(soc:soc1);
if(!prot)
{
close(soc1);
exit(0);
}
}
if(!get_kb_item("login/SMB/kerberos/success")) {
r = smb_session_setup(soc:soc1, login:login, password:pass, domain:domain, prot:prot);
if(!r) {
close(soc1);
exit(0);
}
} else {
kdc = kb_smb_kdc();
host = kb_smb_hostname();
if(kdc && host && defined_func("krb5_gss_init")) {
r = krb5_gss_init();
context = krb5_gss_prepare_context(kdc:kdc, realm:domain, host:host, service:"cifs", user:login, password:pass);
if(krb5_is_failure(context)) {
close(soc1);
exit(0);
}
r = krb5_gss_update_context();
if(krb5_is_failure(r)) {
close(soc1);
exit(0);
}
krb5_blob = krb5_gss_update_context_out();
} else {
close(soc1);
exit(0);
}
r = smb_session_setup(soc:soc1, login:login, password:pass, domain:domain, prot:prot, kerberos:krb5_blob);
if(!r) {
close(soc1);
exit(0);
}
}
uid = session_extract_uid(reply:r);
if(!uid)
{
close(soc1);
exit(0);
}
foreach share (shares)
{
r = smb_tconx(soc:soc1, name:name, uid:uid, share:share);
if(!r){
continue;
}
tid = tconx_extract_tid(reply:r);
if(!tid)
{
continue;
}
tid_high = tid / 256;
tid_low = tid % 256;
uid_high = uid / 256;
uid_low = uid % 256;
resp = FindFirst2(socket:soc1, uid:uid, tid:tid, pattern: "\*");
if (!resp){
continue;
}
foreach file (resp)
{
# FindFirst2 returns filenames without a starting slash
file = "\" + file;
fid = OpenAndX(socket:soc1, uid:uid, tid:tid, file:file);
if(!fid){
continue;
}
fid_high = fid / 256;
fid_low = fid % 256;
# nb: SMB Read AndX Request trying to read at a very high offset
smb_read_andx_req = raw_string(0x00, 0x00, 0x00, 0x3c, ## Netbios Session
0xff, 0x53, 0x4d, 0x42, ## Server Component : SMB
0x2e, ## SMB Command : Read AndX
0x00, 0x00, 0x00, 0x00, ## NT Status : Success
0x18, 0x07, 0xc8, ## Flags
0x00, 0x00, ## Process ID
0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, ## Signature & Reserver
tid_low, tid_high, ## Tree ID
0x33, 0x0c,
uid_low, uid_high, 0x80, 0x01, ## User ID
0x0c, ## Read AndX Word Count
0xff, 0x00, ## AndXCommand : No further cmds & Reserved
0x00, 0x00, ## AndXoffset
fid_low, fid_high, ## FID
0xff, 0xff, 0xff, 0xff, ## Offset : Should be set to large value
0x0a, 0x00, 0x0a, 0x00, ## Max & Min Count
0xff, 0xff, 0xff, 0xff, ## File offset & File RW length
0x0a,
0x00, 0xff, 0xff, 0xff, 0x7f, ## High Offset
0x00, 0x00, 0x00); ## Byte Count
send(socket:soc1, data: smb_read_andx_req);
read_resp = smb_recv(socket:soc1);
smb_close_request(soc:soc1, uid:uid, tid:tid, fid:fid);
if( strlen( read_resp ) < 13 ) continue;
## nb: Check if SMB NT_STATUS is STATUS_INVALID_PARAMETER (0xc000000d)
if(read_resp && ord(read_resp[9]) == 13 && ord(read_resp[10]) == 0
&& ord(read_resp[11]) == 0 && ord(read_resp[12]) == 192)
{
security_message(port);
close(soc1);
exit(0);
}
}
}
close(soc1);
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
28 Apr 2026 00:00Current
5Medium risk
Vulners AI Score5
CVSS 210
EPSS0.44581