1

Struts で最近確認されたセキュリティの脆弱性のため、アプリケーションを struts バージョン 2.3.16 から 2.3.31 にアップグレードしています。

主な問題の 1 つは、Action クラスのゲッターとセッターの命名規則です。

例: String のインスタンス変数の場合aType、Struts 2.3.16 で問題がなかった以前に使用されたセッターとゲッターを以下に示します。

public class ErrorMessageAction extends ActionSupport{

    private String aType;

    public String getAType() {
        return aType;
    }

    public void setAType(String type) {
        this.aType = type;
    }
}

ただし、Struts 2.3.31 では、同じインスタンスに対する setter と getter の期待値は次の形式である必要があります。

public class ErrorMessageAction extends ActionSupport{

    private String aType;

    public String getaType() {
        return aType;
    }

    public void setaType(String aType) {
        this.aType = aType;
    }
}

以下にリストされている 2.3.31 jar を適用した後に、この種の問題 (setter/getter 命名規則) が見つかったアクション クラスが多数あります。

commons-lang3-3.2.jar, commons-fileupload-1.3.2.jar,commons-io-2.2.jar
freemarker-2.3.22.jar, ognl-3.0.19.jar, struts2-core-2.3.31.jar
exwork-core-2.3.31.jar, commons-logging-1.1.3.jar, javassist-3.11.0.GA.jar

すべての Action クラスでセッター/ゲッターの変更を必要としない構成レベルでのソリューションを誰かが提案できますか?

4

0 に答える 0