SV.STRUTS.VER
Struts バージョン: アップグレード
SV.STRUTS.VER チェッカーは、プロジェクトが潜在的なリモートコード実行の脆弱性がない Struts バージョンを使用していることを検証します。
脆弱性とリスク
Apache Struts バージョン 2.3.x (2.3.32 以前) と 2.5.x (2.5.10.1 以前) は、ファイルアップロードの試行時に誤った例外処理とエラーメッセージ生成を行います。この脆弱性は、リモート攻撃者に任意コマンドの実行を許してしまいます。
軽減と防止
より新しいバージョンの Struts (2.5.12 以降) に更新します。
脆弱コード例
コピー
                                                
                                            
                                             import com.opensymphony.xwork2.Action;
 public class LoginAction implements Action {
    @Override
    public String execute() {
       return "SUCCESS";
    }
 }
                                                Klocwork は、3 行目で「脆弱な Apache Structs バージョンがプロジェクトで使用されている」という SV.STRUTS.VER 欠陥を報告します。2.5.10.1 以前の Apache Struts バージョンがプロジェクトに使用されていると、Klocwork はエラーを報告します。
修正コード例
コピー
                                                
                                            
                                             import com.opensymphony.xwork2.Action;
 public class LoginAction implements Action {
     @Override
     public String execute() {
         return "SUCCESS";
     }
  }
                                                準拠バージョンの Apache Struts (バージョン 2.5.12 以降) に更新すると、Klocwork は 3 行目でもはや欠陥を報告しなくなります。