2013年9月16日月曜日

vTigerCRM5.4のセキュリティーパッチにバグ

vTigerCRM5.4のセキュリティーパッチを適用した後に、管理者権限以外の方がパスワードの変更ができないという指摘がありました。
確認したところ、管理者権限以外の方が自身のパスワードを変更しようとした場合、以下のメッセージが出力されてパスワードを変更できません。
"SECURITY: Non-Admin user attempted to change user role"
原因を調査したのですが問題の箇所は、modules/Users/Save.phpの54行目の以下の箇所です。
52
53
54
55
56
    }
}
if(!is_admin($current_user) && $_REQUEST['user_role'] != $current_user->roleid){
    $log->fatal("SECURITY:Non-Admin user:". $current_user->id . " attempted to change user role");
この問題ですが修正版がすでにtrac上に配置されています。
具体的な修正方法ですが、Save.phpの54行目の以下のとおりに直してしましましょう。
52
53
54
55
56
    }
}
if($_REQUEST['user_role'] != '' && !is_admin($current_user) && $_REQUEST['user_role'] != $current_user->roleid){
    $log->fatal("SECURITY:Non-Admin user:". $current_user->id . " attempted to change user role");

困ったことに公開されてセキュリティパッチに関してはまだ修正版が適用されていません。

そのためセキュリティーパッチを適用した場合はご注意を。