1.3系、1.4系とも、 $vars['date_sep'] や $vars['file'] をそのまま出力している箇所があります。
以下のような修正が必要だと思います。 (動作確認はしてませんが。。。)
diff -u -b -r1.5 calendar_viewer.inc.php --- calendar_viewer.inc.php 2 Mar 2003 06:37:40 -0000 1.5 +++ calendar_viewer.inc.php 3 Mar 2003 01:29:44 -0000 @@ -235,13 +235,14 @@ } //リンク作成 + $s_date_sep = htmlspecialchars($date_sep); if ($left_YM != ""){ - $left_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$left_YM&date_sep=$date_sep&mode=$mode\">$left_text</a>"; + $left_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$left_YM&date_sep=$s_date_sep&mode=$mode\">$left_text</a>"; }else{ $left_link = ""; } if ($right_YM != ""){ - $right_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$right_YM&date_sep=$date_sep&mode=$mode\">$right_text</a>"; + $right_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$right_YM&date_sep=$s_date_sep&mode=$mode\">$right_text</a>"; }else { $right_link = ""; } @@ -285,14 +286,14 @@ $return_vars_array["body"] = call_user_func_array("plugin_calendar_viewer_convert",$args_array); //$return_vars_array["msg"] = "calendar_viewer ".$vars["page"]."/".$page_YM; - $return_vars_array["msg"] = "calendar_viewer ".$vars["page"]; + $return_vars_array["msg"] = "calendar_viewer ".htmlspecialchars($vars["page"]); if ($vars["page"] != ""){ $return_vars_array["msg"] .= "/"; } if (preg_match("/\*/",$page_YM)){ //うーん、n件表示の時はなんてページ名にしたらいい? }else{ - $return_vars_array["msg"] .= $page_YM; + $return_vars_array["msg"] .= htmlspecialchars($page_YM); } $vars['page'] = $page;