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 行目でもはや欠陥を報告しなくなります。