tracker、bugtrackプラグインで編集認証を無視してページを作成できる



メッセージ

 編集制限をしていない場合は、任意のページをいつでも作ることができるので ここでは、特に脆弱性とはいわない。

【影響を受けるページ】

PKWK_READONLY が0
かつ
付属のbugtrack.inc.php , tracker.inc.phpを残している

【除外】

PKWK_READONLY が1のサイトは影響は受けない。

【問題のフォーム】

フィード名フィールド値
modesubmit
pluginbugtrack
base空欄以外の任意の文字 pagenameが存在しない場合base/番号になる
pagename任意のページ名

以下は任意項目である

フィード名フィールド値
summary
priority
state
version
category
body

【再現方法】

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攻撃の対象とならないよう注意されたい。

【原因】

  1. 該当関数の_action関数で check_editable関数を呼び出していないため。
  2. postサイズや中身を確認していないため

【対策】

この問題についての、修正は2007.7 時点では出されていない。

  PKWK_READONLYを
  define('PKWK_READONLY', 1);

とすることで回避することをお勧めする。

phpの初級程度の知識があれば、該当プラグイン群を 1、2行の修正コードを挿入して、回避することも可能である。

関連


コメント



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-08-02 (木) 01:46:18
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.315 sec.

SourceForge