[tomoyo-users 949] ccs-patch-1.6.9p2/1.7.3p2/1.8.3p5 ccs-tools-1.6.9p1/1.7.3p1/1.8.3p2 をアップロードしました。

Back to archive index

Tetsuo Handa from-****@I-lov*****
2012年 3月 3日 (土) 22:41:19 JST


AppArmor のパッチを読んでいたら、(ユーザ空間からは任意の組み合わせの MS_*
オプションをマウント要求に渡すことができるために) TOMOYO のマウント
パーミッションチェックが不正確になる場合があることに気がつきました。
2つ例を示します。

  MS_SHARED/MS_PRIVATE/MS_SLAVE/MS_UNBINDABLE の方が MS_BIND よりも優先度が
 高かったため、もし MS_BIND と MS_SHARED/MS_PRIVATE/MS_SLAVE/MS_UNBINDABLE の
 何れかが同時に指定された場合、デバイスファイル名をチェックすべきところが
 チェックされないようになっていました。

  MS_BIND/MS_MOVE の方が MS_REMOUNT よりも優先度が高かったため、もし
 MS_BIND/MS_MOVE のどちらかと MS_REMOUNT が同時に指定された場合、デバイス
 ファイル名をチェックすべきでないところでチェックされるようになっていました。

このバグを do_mount() と同様に MS_REMOUNT -> MS_BIND ->
MS_SHARED/MS_PRIVATE/MS_SLAVE/MS_UNBINDABLE -> MS_MOVE という優先順位に変更
することで修正しました。また、 MS_SHARED/MS_PRIVATE/MS_SLAVE/MS_UNBINDABLE は
同時に1つしか指定できないので、複数指定されていた場合には -EINVAL を返すことで
不正確な TOMOYO のアクセス要求ログが発生しないように変更しました。

TOMOYO 2.3 (カーネル 2.6.36 )以降にもこのバグは存在しています。
TOMOYO 2.5 向けの修正パッチは カーネル 3.4 に含まれる予定です。

このバグを修正することにより、マウント制限が有効な場合にはポリシーの修正が
必要になる可能性があります。ただし、アプリケーションが上記で示したような例に
該当するようなマウント要求をすることはまず無いため、実際に修正が必要になる
ことはまず無いでしょう。



また、カーネル 3.4 では UMH_WAIT_PROC という定数(現在は 1 です)が変更される
予定です。この変更がバックポートされる場合に備えて、ハードコーディングされた
定数ではなく UMH_WAIT_PROC という定数を使うように修正しました。残念ながら、
この変更の有無を実行時に検出する方法はありません。もし、ポリシーローダ
( /sbin/ccs-init )の実行が終了する前にカーネルが先に進もうとしてしまう
ことにより起動時にカーネルパニックが発生するようになった場合、この変更が
バックポートされていないかどうか確認してください。(もし、 TOMOYO 2.x 内の
ハードコーディングされた定数を UMH_WAIT_PROC に変更せずに、この変更だけが
バックポートされてしまった場合、 /sbin/tomoyo-init でも同様のことが発生
します。 TOMOYO 2.x をバックポートされている方はご注意ください。)



ccs-tools-1.7.3 については、バグ修正と機能強化を行いました。

  /usr/sbin/ccs-checkpolicy
    Fix validation failure with number_group entries.

  /usr/sbin/ccs-editpolicy
    Allow optimization command ('o' key) to exception policy.
    Fix wrong copy to buffer command ('insert' key) from Process State Viewer mode.

  /usr/lib/ccs/init_policy
    Generate wildcarded allow_read entries.

ccs-tools-1.8.3 については、「 o キーを押したときにエントリが選択されたか
どうかを確認できるようにするために、現在選択中の行の数が表示されるようになって
いると嬉しい」という要望を原田さんからもらったため、ヘッダ行に表示するように
しました。

  & マークが付いている行が存在しない場合、ヘッダ行の表示は現在のままです。

    <<< Exception Policy Editor >>>      109 entries    '?' for help

  & マークが付いている行が存在する場合、ヘッダ行の表示は以下のようになります。

    <<< Exception Policy Editor >>>      109 entries (9 selected)   '?' for help



何か問題を見つけたらお知らせください。

ccs-patch-1.6.9-20120301.tar.gz  MD5: 111184bfdcc6342987af4f431895e382
ccs-patch-1.7.3-20120301.tar.gz  MD5: 1111d8fb724cae0c7b0dd8a3b294c55f
ccs-patch-1.8.3-20120301.tar.gz  MD5: bbbbc6a0872028ed17d623af720a73bd
ccs-tools-1.6.9-20120301.tar.gz  MD5: 9999b891210fb4d79da4e9ebefc92236
ccs-tools-1.7.3-20120301.tar.gz  MD5: 777796417338fff302597456bbf9e0b7
ccs-tools-1.8.3-20120301.tar.gz  MD5: dddd6ca49a2f73bef77590cd4d199a9f
akari-1.0.25-20120301.tar.gz     MD5: 6666311eece23c6250957dca91083b6e




tomoyo-users メーリングリストの案内
Back to archive index