めっちゃくちゃヤバイ脆弱性発見。
対象:
B70 以前の全てのさくら日記帳
先に
緊急リリースしておきます。
ついでに EUC 問題も削っておきました。
以下は修正方法。
簡単なコード追加なのでこれで対応してください。
修正方法:
sub init { 行の次に以下の行を挿入。
error("パスワードが違います。") if !check_password($FORM{'writekey'});
sub config { 行の以下の行を参考に挿入。
<form action="$script" method=POST>
<input type=hidden name=mode value="init">
<input type=hidden name=writekey value="$FORM{'writekey'}"> ←※追加
EUC を SJIS にする場合は以下の行を削除。
sub regist { ルーチンにある以下の行
# ログファイルが存在しなければ新規フォーマットで書き込み
else { $formtmp = "$FORM{'weather'},$FORM{'subject'}\n$FORM{'comment'}"; }
jcode::convert(\$formtmp, 'euc'); ←※これ
設定ファイル消えてたら呼んでください。バックアップこっちで確保しますた。→蝦・あぞーさん・Casper-01さん・山銀さん
それにしてもまぁ、よくもパスワード認証なしに設定の保存ルーチンに飛ばしてたもんだ。
バグメモ
- 設定画面で "" を使ったタイトルを使用したとき、もう一度設定しようとすると消えている
→type=text を使っていると全部出る。
s/"/"/していないのが原因。
今回のさくら日記帳で更新はひとまず止めます。
いや、
内部がかなりカオス化してるので整理しないと。
MySQL 版で覚えた技術も取り入れたいですし。
MySQL版の方もあるので折り合い見ながら両方同時進行で調整かけながらにします。
ということで EUC 保存に関しては上記を参考にして無効化しておいてください。
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ 山銀
└ G兄