脆弱性の説明
強制開放経路の不在下で得られた十分な安全性試験せずThinkPHP5フレームワーク、コントローラの名前ので、ハッカー設定特定の要求を直接GetWebShellすることができます。
脆弱性スコア
深刻
バージョンに影響を及ぼし
ThinkPHP 5.0シリーズ<5.0.23
ThinkPHPシリーズ5.1 <5.1.31
セキュリティバージョン
ThinkPHP 5.0シリーズ5.0.23
ThinkPHP 5.1シリーズ5.1.31
ThinkPHP5。*リリースのセキュリティアップデート
十分なテストを行わずにフレームコントローラ名が必須のルーティングが存在しない場合に可能なターンをもたらすことができるので、更新されたバージョンは、主に、セキュリティ更新プログラムに関連した
getshell
影響を受けるバージョンを含む脆弱性、5.0
そして5.1
できるだけ早く最新バージョンにアップデートすることを推奨バージョン。
最新バージョンにアップデートする様々な理由、一時的にできなかった場合(互換性の問題がある可能性があり、以前のバージョンが最新バージョンにアップグレードし、最初のガイド部をアップグレード公式マニュアルを参照してください)
マニュアル訂正
バージョン5.1
parseURLをメソッドthinkphp /ライブラリ/ /ルート/派遣/ Url.phpクラスは、コントローラを解析すると思うプラス追加
{|もし(!、$コントローラ)$コントローラ&&するpreg_match( '\)* $ / / ^ [A-ZA-Z](\ワット')
'コントローラではないが存在する:' $コントローラー新しいHttpException(404を、投げます。 );
}
バージョン5.0
メソッドの後ろに取得制御モジュールコードthinkphp /ライブラリ/考える/ App.phpクラスと
(もし!するpreg_match( 'W / ^ [A-ZA-Z](\ | \)* $ /'、$コントローラ)){
スロー新しいHttpException(。404、 'コントローラではないが存在する:' $コントローラー);
}
アップグレードのフレームワーク
コード実行の作曲更新のルートディレクトリに
注意:この方法では、簡単にこのアップグレードの修理のように考える必要がある場合は特に、非互換性につながり、直接アップグレードを推奨されません、それが戻ってコードまで事前にお勧めします。
現在5.0のthinkphp最新バージョン(5.0.23)および5.1(5.1.31)は、この脆弱性を修正した、我々はあなたがプロジェクトの最新バージョンを使用することを示唆しています。