struts2 2.3.16.3でs:submit action=”hogehoge”
struts2はものすごく古いもとい老舗のフレームワークだが、初版からつい最近(2.3.16.0)までずっと脆弱性を抱えていたというのが4月ごろ騒がれた。その絡みなのか分からないが2.3.3や2.3.6で動いていた
<s:form id="form" method="post"> <s:submit action="hogehoge" value="hoge" /> <s:submit action="fugafuga" value="fuga" /> </s:form>
が2.3.16.3では動かなくなっている。
とりあえずStack Overflowを斜め読みしたら出てきた解決策。
struts.xmlに以下の記述を追加。
<constant name="struts.mapper.action.prefix.enabled" value="true" />
これで動くようにはなったが、もしこれが脆弱性をただ隠すためにデフォルト値を変えたのだけであって有効にしたら脆弱性が復活するとかだったらやだなぁ。