* tracker、bugtrackプラグインが編集認証に対応していない [#p1a09f63] - 元タイトル: PukiWiki(1.4.7)に編集制限をかけた任意のページにページを挿入できる脆弱性 - ページ: [[BugTrack2]] - 投稿者: 名無しさん - 優先順位: 緊急 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2007-08-01 (水) 10:12:15 - バージョン: 1.47 #contents ** メッセージ [#ec653210] 編集制限をしていない場合は、任意のページをいつでも作ることができるので ここでは、特に脆弱性とはいわない。 **【影響を受けるページ】 [#ye8303b7] PKWK_READONLY が0 かつ 付属のbugtrack.inc.php , tracker.inc.phpを残している **【除外】 [#c8431525] PKWK_READONLY が1のサイトは影響は受けない。 **【問題のフォーム】 [#h87ce545] |フィード名|フィールド値|h |mode|submit| |plugin|bugtrack| |base|空欄以外の任意の文字 pagenameが存在しない場合base/番号になる| |pagename|任意のページ名| 以下は任意項目である |フィード名|フィールド値|h |summary|| |priority|| |state || |version || |category || |body|| **【再現方法】 [#w64fb7ab] pukiwiki.ini.php を編集し、認証を加える $edit_auth = 1; $edit_auth_pages["/.*/"] = ''; 次にアクセスして、編集認証がかかっていることを確認する。 <form method="POST" action="ここにURL"> <input type="submit" value="送信" ><br> <input type="text" name="mode" size="20" value="submit"><br> <input type="text" name="plugin" size="20" value="bugtrack"><br> <input type="text" name="base" size="20" value="base"><br> <input type="text" name="pagename" size="20" value="pagename"><br> <input type="text" name="フィード名" size="20" value="フィールド値"><br> </form> 修正されていない場合は、 フォーム送信するとページができ編集制限が機能していないことがわかるだろう。 ・そのほか、Edit入力フォームのページ<プラグイン(#commentや#article,#insert)> は、同様に、凍結されていても、Wikiコンテンツを書き込める脆弱性があるので注意されたい。 ・また数MBの巨大フィールドを受け入れる、脆弱性も存在する Dos攻撃の対象とならないよう注意されたい。 *【原因】 [#y0cbf4e4] +該当関数の_action関数で check_editable関数を呼び出していないため。 +postサイズや中身を確認していないため *【対策】 [#u869d0e3] この問題についての、修正は2007.7 時点では出されていない。 PKWK_READONLYを define('PKWK_READONLY', 1); とすることで回避することをお勧めする。 phpの初級程度の知識があれば、該当プラグイン群を 1、2行の修正コードを挿入して、回避することも可能である。 *[[関連>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ]] [#l74bae8c] #include(PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ,notitle) -------- - 認証関係の話、何度もでてきますねぇ。[[BugTrack2/197]]に追加でよかった気も...。 -- [[ぃぉぃぉ]] &new{2007-08-01 (水) 12:36:14}; - lib/file.phpのpage_writeでチェックしてしまえばほとんどOKですね。PKWK_READONLYのチェックしているところでやっちゃえば。 -- [[ぃぉぃぉ]] &new{2007-08-01 (水) 12:34:15}; -- commentとかも使えなくなるので、自分は「認証必要ページでも書き込みを許可するフラグ」を作って、使うプラグイン(comment等)でそのフラグを立てるようにして対応するかな。 -- [[ぃぉぃぉ]] &new{2007-08-01 (水) 12:33:54}; - 「凍結されていても、Wikiコンテンツを書き込める脆弱性」と書いてあるけど、書き込める「仕様」だったと思うんですが・・・ -- &new{2007-08-01 (水) 12:36:09}; #comment