Tetsuo Handa
from-****@I-lov*****
2007年 1月 5日 (金) 21:01:35 JST
あけましておめでとうございます。 今年もよろしくお願いします。 熊猫です。 TOMOYO Linux 1.3.1 に含まれる fs/tomoyo_file.c にバグが見つかりました。 バグの内容は、エラーをクリアし忘れることにより学習モード時に 全ての必要なアクセス許可を学習しきれない場合が発生するというものです。 学習モード以外への影響はありません。また、学習モードで 同じ操作を3回繰り返せば全ての必要なアクセス許可を学習できます。 fs/tomoyo_exec.c にバグが見つかりました。 バグの内容は、 argv[0] の長さを加え忘れることにより argv[0] に関するアクセスログが切り詰められる場合が発生するというものです。 システムの動作への影響はありません。 修正箇所は以下の通りです。 diff -urp src_1.3.1.orig/fs/tomoyo_exec.c src_1.3.1/fs/tomoyo_exec.c --- src_1.3.1.orig/fs/tomoyo_exec.c 2006-12-08 00:00:00.000000000 +0900 +++ src_1.3.1/fs/tomoyo_exec.c 2007-01-05 09:03:37.000000000 +0900 @@ -29,7 +29,7 @@ static int AuditArgv0Log(const char *fil char *buf; int len; if (CanSaveAuditLog(is_granted) < 0) return -ENOMEM; - len = strlen(filename) + 8; + len = strlen(filename) + strlen(argv0) + 8; if ((buf = InitAuditLog(&len)) == NULL) return -ENOMEM; snprintf(buf + strlen(buf), len - strlen(buf) - 1, KEYWORD_ALLOW_ARGV0 "%s %s\n", filename, argv0); return WriteAuditLog(buf, is_granted); diff -urp src_1.3.1.orig/fs/tomoyo_file.c src_1.3.1/fs/tomoyo_file.c --- src_1.3.1.orig/fs/tomoyo_file.c 2006-12-08 00:00:00.000000000 +0900 +++ src_1.3.1/fs/tomoyo_file.c 2007-01-05 09:04:40.000000000 +0900 @@ -696,6 +696,7 @@ static int CheckSingleWritePermission2(c if (!is_enforce) error = 0; if (error == 0) error = CheckSingleWritePermission2(TYPE_REWRITE_ACL, filename, obj); } + if (!is_enforce) error = 0; return error; } クラッシュを引き起こすような不具合ではないので、 既に強制モードで稼動させている方は更新しないでも大丈夫です。 学習モードで稼動させている方は更新することをお勧めします。 ソースパッケージは http://osdn.dl.sourceforge.jp/tomoyo/22797/ccs-patch-1.3.1-20070105.tar.gz です。カーネル 2.6.20 へ対応するために、その他の箇所も若干修正しました。 12/8以降に公開されたカーネル用のパッチも含めました。 バイナリパッケージについては順次修正版をコンパイルしてアップロードする予定です。 日付が 2007/01/05 以降になっているパッケージが修正版です。 http://osdn.dl.sourceforge.jp/tomoyo/22799/?M=D